Google OAuth リフレッシュ トークンを受信しない 質問する

Google OAuth リフレッシュ トークンを受信しない 質問する

Google からアクセス トークンを取得したいです。Google APIによるとアクセス トークンを取得するには、コードとその他のパラメータをトークン生成ページに送信すると、次のような JSON オブジェクトが応答として返されます。

{
"access_token" : "ya29.AHES6ZTtm7SuokEB-RGtbBty9IIlNiP9-eNMMQKtXdMP3sfjL1Fc",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/HKSmLFXzqP0leUihZp2xUt3-5wkU7Gmu2Os_eBnzw74"
}

しかし、リフレッシュ トークンを受信して​​いません。私の場合の応答は次のとおりです。

{
 "access_token" : "ya29.sddsdsdsdsds_h9v_nF0IR7XcwDK8XFB2EbvtxmgvB-4oZ8oU",
"token_type" : "Bearer",
"expires_in" : 3600
}

ベストアンサー1

refresh_token、ユーザーからの最初の承認時にのみ提供されます。OAuth2 統合のテスト中に行うような後続の承認では、 はrefresh_token再度返されません。:)

  1. アカウントにアクセスできるアプリを表示するページに移動します。https://myaccount.google.com/u/0/permissions
  2. 「サードパーティ アプリ」メニューでアプリを選択します。
  3. 「アクセスを削除」をクリックし、「OK」をクリックして確定します
  4. 次に行う OAuth2 リクエストでは、refresh_token(「access_type=offline」クエリ パラメータも含まれている場合) が返されます。

prompt=consent&access_type=offlineあるいは、 OAuthリダイレクトにクエリパラメータを追加することもできます(GoogleのWeb サーバー アプリケーション向け OAuth 2.0ページ)。

これにより、ユーザーにアプリケーションを再度承認するように要求し、常に が返されますrefresh_token

おすすめ記事