python sharepoint — ошибка проверки учетных данных из-за неверного имени пользователя или пароля

#python #sharepoint #shareplum

#python #sharepoint #shareplum

Вопрос:

Я хочу автоматизировать загрузку zip-файла на сайте sharepoint другой организации, которым они поделились с моей организацией, пригласив нас в качестве гостя, используя общий адрес электронной почты компании, чтобы мы могли получить доступ к файлам. Чтобы получить доступ, я предоставляю адрес электронной почты компании в качестве имени пользователя и связанный с ним пароль AD, который проверяет подлинность доступа через нашу учетную запись организации MS 365.

Это отлично работает вручную, но при попытке сделать это через shareplum я получаю ошибку учетных данных.

Вот мой код:

 from shareplum import Site
from shareplum import Office365
from shareplum.site import Version

sharepointUsername = 'elvis.presley@suspiciousminds.org'
sharepointPassword = 'oogabooga123'
sharepointSite = 'https://abc.sharepoint.com/sites/ClientLogin/Shared Documents/Graceland/'

authcookie = Office365(website, username=sharepointUsername, 
             password=sharepointPassword).GetCookies()
site = Site(sharepointSite, version=Version.v365, authcookie=authcookie)
  

И вот ошибка:

 Traceback (most recent call last):
  File "<string>", line 11, in <module>
  File "C:arcgispro-py3-clone2libsite-packagesshareplumoffice365.py", line 88, in get_cookies
    sectoken = self.get_security_token(self.username, self.password)
  File "C:arcgispro-py3-clone2libsite-packagesshareplumoffice365.py", line 80, in get_security_token
    raise Exception('Error authenticating against Office 365. Error from Office 365:', message[0].text)
Exception: ('Error authenticating against Office 365. Error from Office 365:', 'AADSTS50126: Error validating credentials due to invalid username or password.')
  

Любая подсказка, почему это не работает? Я несколько раз проверял учетные данные, используя их для входа в систему вручную, и это работает каждый раз (очевидно, в примере нет реального имени пользователя / пароля)?

Комментарии:

1. Привет, не могли бы вы поделиться содержимым website переменной?? Это должен быть https://abc.sharepoint.com/ не весь URL как sharepointSite . Также измените свой sharepointSite as sharepointSite = 'https://abc.sharepoint.com/sites/ClientLogin/ . Чтобы получить доступ к папке, которую вы должны выполнить после входа в систему: `папка = сайт. Папка (‘Общие документы / Graceland /’)` и для получения файла folder.get_file('my_file.zip') и folder.check_out('my_file.zip')

Ответ №1:

Вы не одиноки, похоже, это распространенная проблема shareplum за последние 6 месяцев. На GitHub есть открытая проблема. Владелец кода знает и испытывает трудности с отладкой проблемы.

Проблема с GitHub: https://github.com/jasonrollins/shareplum/issues/84

Я рекомендую тесно сотрудничать с владельцем кода для отладки и устранения проблемы на GitHub или вообще использовать другую библиотеку / решение. Другой пользователь прокомментировал проблему и сослался на решение, которое использует requests библиотеку для извлечения файла, который может оказаться полезным: https://github.com/jasonrollins/shareplum/issues/84#issuecomment-627986466 .