0

私のコードに問題があるかどうかわかりませんが、ドライブREST APIにgoogle-apis nodejsクライアントを使用します。Google APIのアクセストークンは期限切れになりませんか?

ただし、提供されたリフレッシュトークンでアクセストークンをリフレッシュすると、有効期限が秒単位で表示されます。 (リクエストからさらに3600秒遅れて)

テキストファイルに保存します。次に、新しいリクエストの前に資格情報を設定します。

oauth2Client.setCredentials({ 
    access_token: gTokens[0], 
    refresh_token: gTokens[1], 
    expiry_date: gTokens[2] 
}); 

var expiryDate = oauth2Client.credentials.expiry_date; 

var isTokenExpired = expiryDate ? expiryDate <= (new Date()).getTime() : false; 

次に、アクセス権トークンの有効期限が切れているかどうかを確認します。上のコードは、isTokenExpiredに対して私に当てはまります。アクセストークンの有効期限が切れても、長時間経過したアクセストークンを使用してGoogleドライブにファイルをアップロードできます。

問題が何ですか?

答えて

2

refresh_tokenも保存しています。クライアントライブラリには、使用する最初のものが失敗した場合にrefresh_tokenを使用して新しいaccess_tokenを取得するロジックがあります。

ただし、このトークンは自動的に保存されません。必要に応じてフックを設定して保存を行う必要があります。

+0

しかし、私がファイルを作成すると、応答は私にファイルIDを与えます。応答に新しいaccess_tokenはありません。だから私はそれをフックできますか? –

関連する問題