Search code examples
oauth-2.0google-oauthgoogle-oauth-java-client

How Google OAuth 2.0 Java library take care of Access Token! if Client ID, Secret and Refresh Token is provided.?


Code snippets for Building OAuth 2.0 credentials : 
    Credential credential = new GoogleCredential.Builder().setTransport(httpTransport)
                        .setJsonFactory(jsonFactory)
                        .setClientSecrets(myAppClientID, myAppSecret)
                        .build(); 
    credential.setRefreshToken(userRefreshToken);

I am using Java Library in order to get the Google Analytics Data.

I do have Client ID, Secret and Refresh Token. I am accessing Google Analytics API though this credentials information, My question is, Will Google OAuth 2.0 take care of Access Token Automatically? Or Do i need to handle it manually with some mechanism? If i am not passing access token to this code.


Solution

  • From the Credential API doc:

    Thread-safe OAuth 2.0 helper for accessing protected resources using an access token, as well as optionally refreshing the access token when it expires using a refresh token.

    So if you don't specify an access token, it will be automatically fetched using the refresh token. But since you already have an access token, I would say it's good to set it - it will save the first network call to the /token endpoint.