2014-05-16 9 views
7

Esiste un modo per caricare un file sul sito sharepoint utilizzando lo script python? Ho provato ad installare haufe.sharepoint, ma sembra che non sia riuscito a recuperare ntlm durante l'installazione, e non posso neanche usare il modulo connettore senza aver installato ntlm.Come caricare un file sul sito sharepoint utilizzando lo script python

Ho anche provato a salvare il file excel nella posizione del server (quindi salvarlo nella directory come \ server \ sharepointsite \ files invece di connettersi tramite l'URL) utilizzando openpyxl, ma sembra che il file rimanga estratto dopo che il file è stato salvato ..

Apprezzerei qualsiasi aiuto. Grazie!!

+0

Prova [questo] (https://sharepoint.stackexchange.com/a/212897/72992) –

risposta

4

haufe.sharepoint funziona solo per gli elenchi di sharepoint , ma probabilmente è necessario accedere alle librerie di documenti.

È necessario utilizzare Python Requests con l'aiuto di Sharepoint REST API.

Se il sito sharepoint non supporta BasicAuth, consigliamo il pacchetto requests_ntlm.

Non ha funzionato per me a causa di altri motivi, ma forse ti aiuta un po '.

+1

Posso chiedere perché non ha funzionato per voi? +1 a proposito. – bernie

0

Ho creato un file nel sito di SharePoint in python tramite le chiamate Rest api. Si prega di trovare il mio codice qui sotto.

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) 
Problemi correlati