Office 365のSharePointにファイルをアップロードするための実用的なコードがいくつかありましたが、失敗することがあります。 簡略化されたコードは次のとおりです。
office365.runtime.auth.authentication_contextからimportAuthenticationContext
office365.sharepoint.client_contextからimportClientContext
Office365.runtime.utilities.request_optionsからRequestOptionsをインポートします
os.pathからインポートベース名
ctx_auth = AuthenticationContext(url = base_url)
ctx_auth.acquire_token_for_user(username = user_name、password = pwd)でない場合:
print(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)
options = 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(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
TypeError:NoneTypeではなくstrである必要があります
なぜこれが機能する場合と機能しない場合があるのか、何か考えはありますか? 正しいユーザー名とパスワードを使用しています。
これは月曜日に私に起こり始めたばかりです。 私はまだ解決策も探しています。
はい、月曜日に開始した同じエラーも発生しました。 これがすぐに修正されることを願っています。 コードはで失敗しています
ctx.excecute_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:無効なユーザー名またはパスワード
ブラウザからサイトにアクセスする場合も、同じユーザー名とパスワードが機能することに注意してください。
ありがとう。
最終的に、MicroSoftGraphに基づいてファイルをSharePointにアップロードするスクリプトを作成しました。 https://github.com/bobbydurrett/copyfiletosharepoint
ありがとう@bobbydurrettこれは本当に便利です!
内部アカウント(AD Azure for O365)でも同じエラーが発生しますが、外部アカウントでは認証プロセスは正常に機能します。 @majduddin @zachnamyat @EGCPHD解決策を見つけましたか?
私はこの方法で同様の問題を解決しました: https :
同様の問題が2.1.10
バージョンで解決されたことが確認されており、これまで誰もこの問題に遭遇していないため、これを閉じることを提案します。
最も参考になるコメント
最終的に、MicroSoftGraphに基づいてファイルをSharePointにアップロードするスクリプトを作成しました。 https://github.com/bobbydurrett/copyfiletosharepoint