2017-07-17 27 views
0

現在、リフレッシュトークンを使用してアクセストークンを50分ごとにリフレッシュするバッチジョブがあります。GoogleCredentialsBuilder OAuth 2.0

これは現在、GmailのAPIを構築するためにGoogleCredentialsオブジェクトを構築する方法です。

  Credential cred = new GoogleCredential.Builder() 
         .setTransport(httpTransport) 
         .setJsonFactory(jsonFactory) 
         .setClientSecrets(clientId, clientSecret) 
         .build() 
         .setAccessToken(accessToken) 
         .setRefreshToken(refreshToken); 
      return new Gmail.Builder(httpTransport, jsonFactory, cred).setApplicationName("SalesforceIQ").build(); 

私はGoogleCredentialsrefreshTokenを設定する任意の利点が表示されません。私は正常に自分自身を認可し、アクセストークンだけで正しい応答を返します。

無効(APIリクエスト中)のときにGoogleがaccessTokenをリフレッシュするリフレッシュトークンを設定する利点はありますか?もしそうなら、この新しいアクセストークンをgoogleから元に戻す方法がありますか?(私たちがデータベースに保存できるように)

答えて

1

は、ドキュメントのページを見Using OAuth 2.0 with the Google API Client Library for Java - Data store

あなたはDataStoreCredentialRefreshListenerを使用して GoogleCredential.Builder.addRefreshListener(CredentialRefreshListener)を使用して 資格のためにそれを設定することを持っています。

アクセストークンがライブラリによって自動的にリフレッシュされ、新しいトークンがデータストアに格納されると、リフレッシュリスナーが呼び出されます。

こうしてリフレッシュトークンを設定する必要はありません。トークンを自動的に更新するバッチが必要なのかどうかは疑問かもしれません。

+0

ありがとうございました。 – iart