我有一些工作代码可以将文件上传到 Office 365 中的 SharePoint,但有时会失败。 这是简化的代码:
从 office365.runtime.auth.authentication_context 导入 AuthenticationContext
从 office365.sharepoint.client_context 导入 ClientContext
从 office365.runtime.utilities.request_options 导入 RequestOptions
从 os.path 导入 basename
ctx_auth = AuthenticationContext(url=base_url)
如果不是 ctx_auth.acquire_token_for_user(username=user_name, password=pwd):
打印(ctx_auth.get_last_error())
出口()
file_name = basename(file_path)
files_url ="{0}/_api/web/GetFolderByServerRelativeUrl('{1}')/Files/add(url='{2}', overwrite=true)"
full_url = files_url.format(base_url, folder_url, file_name)
选项 = RequestOptions(base_url)
上下文 = ClientContext(base_url, ctx_auth)
context.request_form_digest()
这是我得到的错误:
检索令牌时出错:AADSTS70002:验证凭据时出错。 AADSTS50053:您尝试使用错误的用户 ID 或密码登录的次数过多。
检索身份验证 cookie 时出错
回溯(最近一次调用最后一次):
文件“testsimplified.py”,第 24 行,在
context.request_form_digest()
文件“C:todoitems\pysharepointerrers\office365\sharepoint\client_context.py”,第 33 行,在 request_form_digest 中
self.authenticate_request(请求)
文件“C:todoitems\pysharepointerrers\office365\runtime\client_runtime_context.py”,第 16 行,authenticate_request
self.__auth_context.authenticate_request(request)
文件“C:todoitems\pysharepointerrers\office365\runtime\auth\authentication_context.py”,第 27 行,authenticate_request
request_options.set_header('Cookie', self.provider.get_authentication_cookie())
文件“C:todoitems\pysharepointerrers\office365\runtime\auth\saml_token_provider.py”,第 69 行,在 get_authentication_cookie 中
返回 'FedAuth=' + self.FedAuth + '; rtFa=' + self.rtFa
类型错误:必须是 str,而不是 NoneType
知道为什么这有时会起作用而有时不起作用吗? 我正在使用正确的用户名和密码。
这只是周一开始发生在我身上。 我也在寻找解决方案。
是的,我也遇到了同样的错误,从星期一开始。 希望这能尽快解决。 代码失败于
ctx.execute_query()
ctx_auth = AuthenticationContext(url)
if ctx_auth.acquire_token_for_user(username, password):
ctx = ClientContext(url, ctx_auth)
web = ctx.web
ctx.load(web)
ctx.execute_query()
print "SharePoint Site: {0}".format(web.properties['Title'])
else:
print ctx_auth.get_last_error()
收到以下错误:
return 'FedAuth=' + self.FedAuth + '; rtFa=' + self.rtFa
TypeError: cannot concatenate 'str' and 'NoneType' objects
得到类似的错误。 错误是以下之一。 正在寻找一些解决方案,但还没有奏效,所以感谢修复。
检索令牌时出错:AADSTS70002:验证凭据时出错。 AADSTS50053:您尝试使用错误的用户 ID 或密码登录的次数过多。
检索令牌时出错:AADSTS70002:验证凭据时出错。 AADSTS50126:无效的用户名或密码
请注意,当通过浏览器访问站点时,相同的用户名和密码有效。
谢谢。
我最终构建了一个基于 MicroSoft Graph 将文件上传到 SharePoint 的脚本。 https://github.com/bobbydurrett/copyfiletosharepoint
谢谢@bobbydurrett这真的很有用!
我在使用内部帐户(O365 的 AD Azure)时遇到了同样的错误,但使用外部帐户时,身份验证过程运行正常! @majduddin @zachnamyat @EGCPHD您找到解决方案了吗?
我以这种方式解决了类似的问题: https :
建议关闭这个,因为类似的问题已经在2.1.10
版本中得到解决,目前没有人遇到过
最有用的评论
我最终构建了一个基于 MicroSoft Graph 将文件上传到 SharePoint 的脚本。 https://github.com/bobbydurrett/copyfiletosharepoint