Office365-rest-python-client: AttributeError: 'ClientContext'オブジェクトに属性 '_auth_context'がありません

作成日 2020年12月08日  ·  10コメント  ·  ソース: vgrem/Office365-REST-Python-Client

こんにちは@vgrem

以下のコードスニペットを実行しようとすると、「AttributeError: 'ClientContext'オブジェクトに属性 '_auth_context'がありません」というエラーが表示されます。 解決にご協力ください

pip installOffice365-REST-Python-クライアント
ctx_auth = AuthenticationContext(Sharepoint_SiteUrl)
ctx_auth.acquire_token_for_user(User、Sharepoint_Password)
ctx = ClientContext(Sharepoint_SiteUrl、ctx_auth)
web = ctx.web
ctx.load(web)
ctx.execute_query()
print( "認証に成功しました")

bug

全てのコメント10件

おい!

AuthenticationContext.acquire_token_for_userから切り替える方法:

ctx_auth = AuthenticationContext(Sharepoint_SiteUrl)
ctx_auth.acquire_token_for_user(User, Pass)
ctx = ClientContext(Sharepoint_SiteUrl, ctx_auth) 

ClientContext.with_user_credentialsメソッドへ:

ctx = ClientContext(site_url).with_user_credentials(username,password)

それでも運がない?

しかし、リクエストで直接クレデンシャルを使用する代わりにトークンを使用する必要があります。それで、上記のコードは引き続きtikenを使用しますか?

元のエラーについて

以下のコードスニペットを実行しようとすると、「AttributeError: 'ClientContext'オブジェクトに属性 '_auth_context'がありません」。 解決にご協力ください

実際 ClientContext渡すときに、 AuthenticationContextインスタンスを保持する際にバグがありました

_fixed_バージョンはGitHubからダウンロードできます。

pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git

それにかんする

しかし、リクエストで直接クレデンシャルを使用する代わりにトークンを使用する必要があります。それで、上記のコードは引き続きtikenを使用しますか?

確かに、舞台裏では、 ClientContext.with_user_credentialsAuthenticationContext.acquire_token_for_user両方が、認証されたリクエストの作成に関して同一です。

こんにちは@vgrem
Iamはデータブリックスでこのコードを使用しており、クラスターレベルでライブラリをインストールする必要があります。gitからダウンロードするオプションはありません...
この新しい変更がライブラリの一部として利用可能になるのはいつですか?

これまでのところ特定のリリース日はありませんが、おそらく今週の終わりまでに。

@vgrem
この週末までにリリースされれば助かります。来週はこのコードのリードテストです。
その間、あなたが言及した他のコードスニペットを試してみます。

別の質問がありました。 クライアントのクレデンシャルの場合、クライアントIDを持つqppをSharePointオンラインサイトに登録する必要がありますか、それともアプリをAzure Active Directoryに登録する必要がありますか?

両方のオプション(SharePointACSとAzureAD)がサポートされています。

@vgrem
説明してくれてありがとう

このページは役に立ちましたか?
0 / 5 - 0 評価