[解決済み】Google OAuthのリフレッシュトークンを受け取れない
2022-03-27 08:36:10
質問
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
}
解決方法は?
その
refresh_token
は、ユーザーからの最初の認証のときのみ提供されます。 OAuth2 の統合をテストしているときに行うような、それ以後の認証では
refresh_token
再び)
- アカウントにアクセスできるAppsを表示するページに移動します。 https://myaccount.google.com/u/0/permissions .
- サードパーティアプリのメニューで、アプリを選択します。
- Remove accessをクリックし、Okをクリックして確認します。
-
次に行う OAuth2 リクエストは
refresh_token
(ただし、クエリパラメータ 'access_type=offline' を含んでいることが条件です。
または、クエリパラメータを追加することもできます。
prompt=consent&access_type=offline
を OAuth リダイレクトに追加します (Google の
ウェブサーバアプリケーション向けOAuth 2.0
のページ)をご覧ください。
これにより、アプリケーションの再認証をユーザーに促し、常に
refresh_token
.
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン