Autorisieren Sie mit den aktuellen Benutzeranmeldeinformationen für Python-Skripte, die unter Verwendung von NTLM auf SharePoint-Listen zugreifen.
Ich habe ein Skript, das eine SharePoint-Liste auf eine bestimmte Dateirevision überprüft und das Ergebnis zurückgibt. Dies funktioniert gut, aber derzeit muss ich bei meiner Autorisierungsmethode mein eigenes Kennwort in den Code einfügen, um Zugriff auf die SharePoint-Liste zu erhalten. Dies ist nicht ideal, da Kennwörter häufig aktualisiert werden müssen und andere Benutzer möglicherweise meine Anmeldedaten anzeigen können.
Kann mir jemand die richtige Richtung weisen, um mithilfe der Anmeldeinformationen des aktuellen Benutzers auf die SharePoint-Website zuzugreifen? Ich habe mich in Kreisen mit ActiveDirectory, NTLM, SOAP usw. beschäftigt und kann nicht erkennen, welche Methode am besten geeignet ist.
Ich benutze Python 2.7 und die Arbeitsfunktion ist wie folgt:
import urllib2
from sharepoint import SharePointSite
from ntlm import HTTPNtlmAuthHandler
def read_sharepoint_list(current_project):
# my Windows credentials
username = "Domain\\user.name"
password = "my_password"
# the sharepoint info
site_url = "http://SharePoint/"
list_name = "My List"
# an opener for the NTLM authentication
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, site_url, username, password)
auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
# create and install the opener
opener = urllib2.build_opener(auth_NTLM)
urllib2.install_opener(opener)
# create a SharePointSite object
site = SharePointSite(site_url, opener)
sp_list = site.lists[list_name]
for row in sp_list.rows:
if current_project in row.Filename:
basecase_rev = row.Rev
return basecase_rev