Thisは、私にこの質問をしてくれたコメントです。アクセストークン後のGoogle APIの無効なリクエストの有効期限が終了しました。
私はgoogleapisパッケージを使用して、サーバー側のNode.jsアプリを持っています。ユーザーは自分のGoogleアカウントでログインし、自分のセッションにトークンを保存します。
{ access_token: '<AN ACCESS TOKEN>',
token_type: 'Bearer',
id_token: '<A LONG ID TOKEN>',
expiry_date: <A TIMESTAMP> } // why do some places say there's an expires_in instead of this
を次のように私が得る資格情報は、ユーザーが既に最初にログインし、受け入れクリック、と私はリフレッシュトークン(私はべきだったように見える)を格納しなかったので何のrefresh_token
はありませんです。
{ [Error: invalid_request] code: 400 } // ...no further details
私の2部構成の質問:expiry_date
に達したときに、私たちは自分のGoogleドライブに何かを保存するために、ユーザが要求を作るしようとした場合
だから、私は、エラーメッセージが表示されます:
は、私は(トークンの有効期限が切れる前に、コールが正常に動作しますので)私のOAuthクライアントオブジェクトでaccess_tokenは有効期限が切れているので、私はそのエラーメッセージが出てい前提としています。これは正しいです?なぜエラーメッセージが詳細ではないのですか?
上部のリンクされている回答では、もう一度Acceptプロンプトを強制し、更新トークンを取得して永続的に保存し、有効期限が切れたときに新しいアクセストークンを取得することです。トークンが期限切れになっているかどうかを確認するだけでなく、APIを呼び出すときにユーザーを再認証させるよりも、なぜこのオプションが優れていますか?ログインしたユーザーがドキュメントを保存するためにドライブAPI呼び出しを常に行うことができるようにする「正しい」方法はどれですか?
あなたはexpires_in'が実際より最新のエンドポイント –
@HansZにGoogleが実装されている標準的な動作であるので、 'トークンをイントロスペクトする非推奨のエンドポイントを使用しているように見えます。ここで用語「エンドポイント」と「イントロスペクト」を明確にすることはできますか?私はこのためにnode.jsにgoogle apisクライアントの最新バージョンを使用しています。 –