Domanda

Voglio usare Sharepoint con Python (C-Python)

Qualcuno l'ha già provato?

È stato utile?

Soluzione

Sospetto che da quando è stata data una risposta a questa domanda la libreria SUDS sia stata aggiornata per occuparsi della stessa autenticazione richiesta. Dopo aver saltato attraverso vari cerchi, ho trovato questo per fare il trucco:


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)

Altri suggerimenti

Per ottenere il 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 principale (medio): il server sharepoint utilizza un NTLM-Auth [:-(] quindi ho dovuto usare NTLM-Auth-Proxy

A Rob ed Enzondio: GRAZIE per i tuoi suggerimenti!

SOAP con Python è abbastanza semplice. Ecco un tutorial di Dive Into Python.

SharePoint espone numerosi servizi Web che è possibile utilizzare per eseguire query e aggiornare i dati.

Non sono sicuro dei toolkit di servizi Web disponibili per Python, ma dovrebbero essere in grado di creare proxy per questi servizi senza problemi.

Questo articolo dovrebbe fornirti informazioni sufficienti per iniziare.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top