2025年7月7日月曜日

google.auth.exceptions.RefreshError の対処方法

google.auth.exceptions.RefreshError の対処方法

概要

エラー全文は以下です

google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'})

環境

  • GCP (2025/07/05 時点)

アプリがテストの場合はリフレッシュトークンが7日になる

らしいです

解決方法の一番はアプリを公開すること

基本は自分で使うだけなら公開しても問題ないです
スコープやアプリの細かい設定が必要な場合は公開するアプリの審査が必要になるかもです
なので可能な限りアプリの設定はシンプルにしましょう (許可ドメインとコールバックURLくらい)

もしアプリを公開できない場合は OAuth クライアントのシークレットを更新しなければならない

しかもシークレットは無効 -> 削除 -> 新規作成が推奨されているので面倒です
しかもアプリがテストの場合はリフレッシュトークンが7日なので再度シークレットを作成し直す必要があります

認証後のトークンの期限は変更できない?

API ならできるのかもしれません
少なくともコンソールからトークンの期限を変更することはできませんでした

最後に

できればアプリは公開状態にしましょう

0 件のコメント:

コメントを投稿