how can i use sharepoint (via soap?) from python?

前端 未结 4 1878
别那么骄傲
别那么骄傲 2020-12-13 22:17

I want to use Sharepoint with python (C-Python)

Has anyone tried this before ?

相关标签:
4条回答
  • 2020-12-13 22:55

    SOAP with Python is pretty easy. Here's a tutorial from Dive Into Python.

    0 讨论(0)
  • 2020-12-13 22:56

    I suspect that since this question was answered the SUDS library has been updated to take care of the required authentication itself. After jumping through various hoops, I found this to do the trick:

    
    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)
    
    
    0 讨论(0)
  • 2020-12-13 22:58

    SharePoint exposes several web services which you can use to query and update data.

    I'm not sure what web service toolkits there are for Python but they should be able to build proxies for these services without any issues.

    This article should give you enough information to get started.

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

    0 讨论(0)
  • 2020-12-13 23:01

    To get the 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
    

    main (mean) problem: the sharepoint-server uses a NTLM-Auth [ :-( ] so i had to use the NTLM-Auth-Proxy

    To Rob and Enzondio : THANKS for your hints !

    0 讨论(0)
提交回复
热议问题