-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LocalでApplication Default Credentialsを利用している時にG Suite APIやFirebase APIを実行するとgoogleapi: Error 403: Request had insufficient authentication scopes. になる #124
Comments
いっそのこと任意のService AccountのAccessTokenが欲しい場合 creating-short-lived-service-account-credentials が利用するのがよい。 これを実行する場合、対象のServiceAccountに対する token-creator のRoleが必要になると思うので、注意すること(具体的にどのRoleがあればいけるかはsinmetalはまだ試してない) |
具体的にはこれですね
|
だと本当に spreadsheets にしかアクセスできなくなるので、デフォルトで
の方がよさそう |
かっちょいい。FirebaseってどんなScopeしてるんだっけ? |
|
なお
上に書いてある通り、スコープの一覧は |
スコープの一覧にある通り、 |
G Suiteはごそっと持つやつはなくて、強いて言えば https://developers.google.com/identity/protocols/oauth2/scopes#scriptv1 を見ながら、必要なやつをせっせと入れる感じかな? |
そうなりそうですねえ |
なるほどなー。まぁ、G Suite系はでかいし、色んなデータがあるから、致し方ないか |
まあ神のアクセストークンを発行できるリフレッシュトークンがもしも漏れたらと考えるとこわいですしね… |
#89 もちょい似てる話題だなと思ったので、メモ |
Drive APIはQuotaProjectのオプションを指定しても、実行時にProjectNumber=764086051850 で固定され この場合は gcloud auth application-default login --client-id-file を指定してやれば、ClientIDが存在するProjectをQuotaProjectとして実行することができる。 |
2025 年 6 月 23 日以降、
|
WHAT
Google SpreadsheetなどのG Suite系のAPIやFirebase APIをApplicationから実行しようとした時に、Application Default Credentialsを利用していると権限があるにも関わらず403でエラーになる。
Refs
WHY
gcloud auth application-default login
の場合、GCPのScopeは最強のもので取得しているけど、その中にG SuiteやFirebaseは含まれていないからっぽい?Solution
gcloud auth application-default login --scopes を利用して必要な任意のScopeを設定してやる。
Spreadsheetだと
gcloud auth application-default login --scopes "https://www.googleapis.com/auth/spreadsheets"
みたいな感じThe text was updated successfully, but these errors were encountered: