2014-05-16 28 views
7

Czy istnieje sposób na przesłanie pliku w witrynie Sharepoint przy użyciu skryptu Pythona? Próbowałem zainstalować haufe.sharepoint, ale wygląda na to, że nie udało się pobrać ntlm podczas instalacji i nie mogę nawet użyć modułu złącza bez zainstalowania ntlm.Jak przesłać plik do witryny SharePoint za pomocą skryptu pythonowego

Próbowałem też po prostu zapisać plik Excela do lokalizacji serwera (więc zapisz go w katalogu takim jak \ serwer \ sharepointsite \ pliki zamiast połączenia przez URL) za pomocą openpyxl, ale wygląda na to, że plik pozostaje wyrejestrowany po zapisaniu pliku ..

Byłbym wdzięczny za każdą pomoc. Dzięki!!

+0

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

Odpowiedz

4

haufe.sharepoint działa tylko dla list akcji o numerach, ale prawdopodobnie potrzebujesz dostępu do bibliotek dokumentów.

Powinieneś używać Pythona Requests przy pomocy SharePoint's REST API.

Jeśli twoja strona z ofertami akcji nie obsługuje BasicAuth, polecam pakiet requests_ntlm.

To nie działa dla mnie z innych powodów, ale może trochę pomaga.

+1

Mogę zapytać, dlaczego to nie działa dla Ciebie? +1 przy okazji. – bernie

0

Utworzyłem plik w witrynie SharePoint w Pythonie za pośrednictwem wywołań restu api. Proszę znaleźć mój kod poniżej.

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) 
Powiązane problemy