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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage