2014-01-06 7 views
9

Ich habe die folgende Website in Sharepoint 2013 in meinem lokalen VM:Zugriff auf eine Sharepoint-Site über die REST-API in Python?

http://win-5a8pp4v402g/sharepoint_test/site_1/

Wenn ich dies aus dem Browser zugreifen, es fordert mich für die Benutzername und das Passwort und dann funktioniert gut. Ich versuche jedoch, dasselbe mit der REST-API in Python zu erreichen. Ich benutze die Anfragen-Bibliothek, und das ist was ich getan habe:

import requests 
from requests.auth import HTTPBasicAuth 


USERNAME = "Administrator" 

PASSWORD = "password" 

response = requests.get("http://win-5a8pp4v402g/sharepoint_test/site_1/", auth=HTTPBasicAuth(USERNAME, PASSWORD)) 

print response.status_code 

Allerdings bekomme ich eine 401. Ich verstehe nicht. Was vermisse ich?

Hinweis: ich diesen Artikel gefolgt http://tech.bool.se/using-python-to-request-data-from-sharepoint-via-rest/

Antwort

20

Es ist möglich, dass Ihre SharePoint-Website ein anderes Authentifizierungsschema verwendet. Sie können dies überprüfen, indem Sie den Netzwerkverkehr in Firebug oder den Chrome Developer Tools überprüfen.

Glücklicherweise unterstützt die Anfragen Bibliothek viele Authentifizierungsoptionen: http://docs.python-requests.org/en/latest/user/authentication/

Fore Beispiel eines der Netzwerke ich für den Zugriff benötigt verwendet NTLM-Authentifizierung. Nach der Installation der requests-ntml Plugin, konnte ich die Seite ähnlich wie dies mit dem Code zuzugreifen:

import requests 
from requests_ntlm import HttpNtlmAuth 

requests.get("http://sharepoint-site.com", auth=HttpNtlmAuth('DOMAIN\\USERNAME','PASSWORD')) 
+1

Ja. Die Verwendung von 'HttpNtlmAuth' hat funktioniert. :) –

0

A 401 Antwort ist ein authentication Fehler ...

, dass eine Ihrer drei Variablen als falsch lässt: url, user, passieren. Requests Authentication Docs

Ihre URL sieht unvollständig aus.

+0

Ja, ich weiß, es ist ein Zugriff verweigert Fehler. Punkt ist, dass ich überprüft habe, dass die URL, der Benutzername und das Passwort korrekt sind. –

+0

Überprüfen Sie Ihre URL. –

+0

Das ist in Ordnung. Es ist eine Sharepoint-Site. Ich habe diesen Eintrag in der Datei/etc/hosts hinzugefügt, um auf die IP der lokalen VM zu verweisen. Wie auch immer, aus Gründen der Übersichtlichkeit habe ich die URL aktualisiert. –

0

Sie auch das sharepoint Modul von PyPI verwenden können, selbst als „Module und Befehlszeilenprogramm beschriebene Daten heraus zu erhalten von Sharepoint“

Verwandte Themen