こんにちは@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( "認証に成功しました")
おい!
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_credentials
とAuthenticationContext.acquire_token_for_user
両方が、認証されたリクエストの作成に関して同一です。
こんにちは@vgrem
Iamはデータブリックスでこのコードを使用しており、クラスターレベルでライブラリをインストールする必要があります。gitからダウンロードするオプションはありません...
この新しい変更がライブラリの一部として利用可能になるのはいつですか?
これまでのところ特定のリリース日はありませんが、おそらく今週の終わりまでに。
@vgrem
この週末までにリリースされれば助かります。来週はこのコードのリードテストです。
その間、あなたが言及した他のコードスニペットを試してみます。
別の質問がありました。 クライアントのクレデンシャルの場合、クライアントIDを持つqppをSharePointオンラインサイトに登録する必要がありますか、それともアプリをAzure Active Directoryに登録する必要がありますか?
両方のオプション(SharePointACSとAzureAD)がサポートされています。
@vgrem
説明してくれてありがとう