問題タブ [gargle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
20 参照

r - サービス アカウントを使用した後、R googlesheets4 gs4_auth() で指定されたユーザー アカウントを使用するように強制する

私は、googlesheets4いくつかのデータを読み取るために使用し、ガーグルを使用して API 呼び出しを認証する単純なスクリプトに取り組んでいます。gs4_auth()が間違ったユーザーを認証するという問題が発生しています。

最初gs4_auth("example@example.com")に Google アカウントで認証を実行すると、すべてが機能します。

その後、gargle::credentials_service_account()ローカル サービス アカウントの json キーを使用してトークンを生成し、API 呼び出しを認証します。それもうまくいきます。

この問題は、以前に API 呼び出しを認証した後でスクリプトを再度実行しようとすると発生します。実行するgs4_auth()と、サービス アカウントの資格情報が使用され、read_sheet()呼び出しで 403 エラーが返されます。

gs4_auth()サービス アカウント資格情報を使用しないように強制する方法はありますか。サービス アカウントには、渡された電子メールとは異なる電子メールがあるgs4_auth()ため、一致しない資格情報を使用することは期待できません。

で認証を実行したoptions(options(gargle_verbosity = "debug")ところ、次の出力が得られました。

example@example.com には Google シートへのアクセス権がありますが、example-service-account@project.iam.gserviceaccount.com にはアクセスできないため、後続の 403 エラーが発生します。