Je veux utiliser Sharepoint avec python (C-Python)comment puis-je utiliser sharepoint (via soap?) À partir de python?
Quelqu'un a déjà essayé cela?
Je veux utiliser Sharepoint avec python (C-Python)comment puis-je utiliser sharepoint (via soap?) À partir de python?
Quelqu'un a déjà essayé cela?
Je pense que, puisque cette question a été répondu à la bibliothèque SUDS a été mis à jour pour prendre soin de lui-même l'authentification nécessaire Après avoir sauté par divers cerceaux, je trouve cela faire l'astuce:
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)
SharePoint expose plusieurs services Web que vous pouvez utiliser pour interroger et mettre à jour des données. Je ne suis pas sûr de ce que sont les toolkits de service Web pour Python, mais ils devraient être en mesure de créer des proxys pour ces services sans aucun problème.
Cet article devrait vous fournir suffisamment d'informations pour commencer.
Malheureusement, python ne joue pas bien avec l'authentification NTLM (! et encore moins avec Kerberos) de sorte que la partie SOAP est facile, mais l'auth est problématique – Basic
SOAP avec Python est assez facile. Here's a tutorial de plonger dans Python.
Ceci est maintenant très à jour et la SOAPpy La bibliothèque qu'il utilise est obsolète. – Basic
Pour obtenir le 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
principal problème (moyenne)
: le sharepoint-serveur utilise un NTLM-Auth [:-(] donc je devais utiliser le NTLM-Auth-Proxy
à Rob et Enzondio:. MERCI pour vos conseils
Malheureusement, il ne semble pas que ça soit bien avec python3 et il est possible d'y ajouter csb-jerko mais nécessite la bibliothèque python-ntlm qui ne s'installe pas sous Windows. – Basic