2014-05-16 3 views
7

Gibt es eine Möglichkeit, eine Datei auf Sharepoint-Site mit Python-Skript hochzuladen? Ich habe versucht, haufe.sharepoint zu installieren, aber es scheint, als ob es ntlm während der Installation nicht abrufen konnte, und ich kann nicht einmal das Connector-Modul verwenden, ohne ntlm installiert zu haben.Wie lade ich eine Datei zur Sharepoint-Site mit Python-Skript hoch

Ich habe auch versucht, nur speichern Sie die Excel-Datei an den Server Speicherort (so speichern Sie es in Verzeichnis wie \ server \ sharepointsite \ Dateien anstelle der Verbindung über die URL) mit openpyxl, aber es sieht aus wie die Datei ausgecheckt bleibt nachdem die Datei gespeichert ist ..

Ich würde jede Hilfe zu schätzen wissen. Vielen Dank!!

+0

Try [diese] (https://sharepoint.stackexchange.com/a/212897/72992) –

Antwort

4

haufe.sharepoint funktioniert nur für Sharepoint-Listen, aber Sie benötigen wahrscheinlich Zugriff auf Dokumentbibliotheken.

Sie sollten Python Requests mit Hilfe von Sharepoint REST API verwenden. Wenn Ihre Sharepoint-Site BasicAuth nicht unterstützt, empfehle ich das requests_ntlm-Paket.

Es hat aus anderen Gründen nicht für mich funktioniert, aber vielleicht hilft es Ihnen ein bisschen.

+1

Darf ich fragen, warum es nicht für Sie arbeiten? +1 übrigens. – bernie

0

Ich habe eine Datei in SharePoint-Site in Python über Rest API-Aufrufe erstellt. Bitte finden Sie meinen Code unten.

def CreateHomePage(): 
    server_relative_url = base_url+ '/_api/web/webinfos' 

r1 = requests.get(server_relative_url, auth=HttpNtlmAuth(username, password), headers = headers, verify=True) 

value = json.loads(r1.text) 
for row in value['d']['results']: 
    if(row['Title'] == myvars['Site Name'].strip(' \t\n\r')): 
     Id= row['ServerRelativeUrl'] 

#Add Template and create file simultaneously 
title = myvars['Site Name'].strip(' \t\n\r') 
post_url = root_url +'GetFolderByServerRelativeUrl(\'/'+Id+'/Pages\')/Files/add(url=\'Home.aspx\',overwrite=true)' 
r2 = requests.post(post_url, auth=HttpNtlmAuth(username, password), headers = headers, verify=True) 

logger.debug("Creation of home page %d", r2.status_code) 
Verwandte Themen