Как получить доступ к сайту sharepoint через REST API в Python?

у меня есть следующий сайт в SharePoint 2013 в моей локальной виртуальной машине:

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

когда я получаю доступ к этому из браузера, он запрашивает у меня имя пользователя и пароль, а затем отлично работает. Однако я пытаюсь сделать то же самое, используя REST API в Python. Я использую библиотеку запросов, и это то, что я сделал:

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

однако я получаю 401. Я не понимаю. Что я упускаю?

Примечание: я следил за этой статьей http://tech.bool.se/using-python-to-request-data-from-sharepoint-via-rest/

4 ответов


возможно, что ваш сайт SharePoint использует другую схему проверки подлинности. Вы можете проверить это, проверив сетевой трафик в Firebug или инструментах разработчика Chrome.

к счастью, библиотека запросов поддерживает множество параметров аутентификации:http://docs.python-requests.org/en/latest/user/authentication/

например, одна из сетей, к которой мне нужен доступ, использует аутентификацию NTLM. После установки запросы-ntml плагин, я смог получить доступ к сайту, используя код, подобный этому:

import requests
from requests_ntlm import HttpNtlmAuth

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

вы также можете использовать sharepoint модуль из PyPI, описанный как "модуль и утилита командной строки для получения данных из SharePoint"


Если другие читатели также просматривают запросы списков python с использованием Python и непосредственно HTTP-запросов, используя аутентификацию NTLM, я предлагаю вам посмотреть здесь: http://blog.carg.io/listing-and-updating-a-sharepoint-list-in-python/

вы найдете полный пример из проверки подлинности, чтобы запросить и обновить списки Sharepoint.


ответ 401 является проверка подлинности ошибка...

Это оставляет одну из ваших трех переменных неправильной:url, пользователь, pass. Запросы На Проверку Подлинности Документов

Ваш url выглядит неполным.