Python(C-Python)でSharepointを使いたい
誰もこれを試したことがありますか?
この質問に回答して以来、必要な認証自体を処理するように 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サーバーはNTLM-Auth [:-(]を使用しているため、NTLM-Auth-Proxyを使用する必要がありました
ロブとエンゾンディオへ:ヒントをありがとう!
Pythonを使用したSOAPは非常に簡単です。これがDiveIntoPythonのチュートリアルです。
SharePoint は、データのクエリと更新に使用できるいくつかの Web サービスを公開しています。
Python 用の Web サービス ツールキットが何かはわかりませんが、これらのサービスのプロキシを問題なく構築できるはずです。
この記事では、開始するのに十分な情報を提供する必要があります。