как использовать sharepoint (через soap?) от python?
Я хочу использовать Sharepoint с python (C-Python)
кто-нибудь пробовал это раньше ?
4 ответов
Я подозреваю,что с момента ответа на этот вопрос библиотека SUDS была обновлена, чтобы позаботиться о необходимой аутентификации. После прыжков через различные обручи, я нашел это, чтобы сделать трюк:
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)
чтобы получить 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
основная (средняя) проблема: sharepoint-server использует NTLM-Auth [ :-( ] поэтому мне пришлось использовать NTLM-Auth-Proxy
для Роба и Энзондио: спасибо за ваши подсказки !
SharePoint предоставляет несколько веб-служб, которые можно использовать для запроса и обновления данных.
Я не уверен, какие инструменты веб-службы есть для Python, но они должны иметь возможность создавать прокси для этих служб без каких-либо проблем.
эта статья должна дать вам достаточно информации, чтобы начать работу.