¿cómo puedo usar Sharepoint(a través de soap?) de python?
ntlm suds (4)
Quiero usar Sharepoint con python (C-Python)
Alguien ha intentado esto antes ?
SharePoint expone varios servicios web que puede usar para consultar y actualizar datos.
No estoy seguro de qué herramientas de servicios web hay para Python, pero deberían poder construir proxies para estos servicios sin ningún problema.
Este artículo debería brindarle suficiente información para comenzar.
Para obtener el wsdl:
import sys
# we use suds -> https://fedorahosted.org/suds
from suds import WebFault
from suds.client import *
import urllib2
# my 2 url conf
# url_sharepoint,url_NTLM_authproxy
import myconfig as my
# build url
wsdl = ''_vti_bin/SiteData.asmx?WSDL''
url = ''/''.join([my.url_sharepoint,wsdl])
# we need a NTLM_auth_Proxy -> http://ntlmaps.sourceforge.net/
# follow instruction and get proxy running
proxy_handler = urllib2.ProxyHandler({''http'': my.url_NTLM_authproxy })
opener = urllib2.build_opener(proxy_handler)
client = SoapClient(url, {''opener'' : opener})
print client.wsdl
Problema principal (medio): el servidor sharepoint usa un NTLM-Auth [:-(] así que tuve que usar el NTLM-Auth-Proxy
Para Rob y Enzondio: ¡GRACIAS por sus consejos!
SOAP con Python es bastante fácil. Aquí hay un tutorial de Dive Into Python.
Sospecho que desde que se respondió esta pregunta, la biblioteca SUDS se ha actualizado para que se encargue de la autenticación requerida. Después de saltar a través de varios aros, encontré esto para hacer el truco:
from suds import WebFault
from suds.client import *
from suds.transport.https import WindowsHttpAuthenticated
user = r''SERVER/user''
password = "yourpassword"
url = "http://sharepointserver/_vti_bin/SiteData.asmx?WSDL"
ntlm = WindowsHttpAuthenticated(username = user, password = password)
client = Client(url, transport=ntlm)