Как я могу использовать sharepoint (через мыло?) из python? - PullRequest
9 голосов
/ 20 октября 2008

Я хочу использовать Sharepoint с python (C-Python)

Кто-нибудь пробовал это раньше?

Ответы [ 4 ]

10 голосов
/ 23 марта 2011

Я подозреваю, что с тех пор, как на этот вопрос был дан ответ, библиотека 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)

9 голосов
/ 21 октября 2008

Чтобы получить 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 использует NTLM-Auth [:-(] поэтому мне пришлось использовать NTLM-Auth-Proxy

Робу и Энзондио: СПАСИБО за подсказки!

4 голосов
/ 20 октября 2008

SOAP с Python довольно прост. Вот учебник от Dive Into Python.

3 голосов
/ 20 октября 2008

SharePoint предоставляет несколько веб-сервисов, которые можно использовать для запроса и обновления данных.

Я не уверен, какие наборы веб-сервисов существуют для Python, но они должны иметь возможность без проблем создавать прокси для этих сервисов.

Эта статья должна дать вам достаточно информации, чтобы начать.

http://www.developer.com/tech/article.php/3104621

...