Class GoogleCredentials (1.30.0)

public class GoogleCredentials extends OAuth2Credentials implements QuotaProjectIdProvider

Base type for credentials for authorizing calls to Google APIs using OAuth2.

Inheritance

Object > Credentials > OAuth2Credentials > GoogleCredentials

Static Methods

create(AccessToken accessToken)

public static GoogleCredentials create(AccessToken accessToken)

Returns the credentials instance from the given access token.

Parameter
Name Description
accessToken AccessToken

the access token

Returns
Type Description
GoogleCredentials

the credentials instance

create(String universeDomain, AccessToken accessToken)

public static GoogleCredentials create(String universeDomain, AccessToken accessToken)

Returns the credentials instance from the given access token and universe domain.

Parameters
Name Description
universeDomain String

the universe domain

accessToken AccessToken

the access token

Returns
Type Description
GoogleCredentials

the credentials instance

fromStream(InputStream credentialsStream)

public static GoogleCredentials fromStream(InputStream credentialsStream)

Returns credentials defined by a JSON file stream.

The stream can contain a Service Account key file in JSON format from the Google Developers Console or a stored user credential using the format supported by the Cloud SDK.

Parameter
Name Description
credentialsStream InputStream

the stream with the credential definition.

Returns
Type Description
GoogleCredentials

the credential defined by the credentialsStream.

Exceptions
Type Description
IOException

if the credential cannot be created from the stream.

fromStream(InputStream credentialsStream, HttpTransportFactory transportFactory)

public static GoogleCredentials fromStream(InputStream credentialsStream, HttpTransportFactory transportFactory)

Returns credentials defined by a JSON file stream.

The stream can contain a Service Account key file in JSON format from the Google Developers Console or a stored user credential using the format supported by the Cloud SDK.

Parameters
Name Description
credentialsStream InputStream

the stream with the credential definition.

transportFactory HttpTransportFactory

HTTP transport factory, creates the transport used to get access tokens.

Returns
Type Description
GoogleCredentials

the credential defined by the credentialsStream.

Exceptions
Type Description
IOException

if the credential cannot be created from the stream.

getApplicationDefault()

public static GoogleCredentials getApplicationDefault()

Returns the Application Default Credentials.

Returns the Application Default Credentials which are used to identify and authorize the whole application. The following are searched (in order) to find the Application Default Credentials:

  1. Credentials file pointed to by the GOOGLE_APPLICATION_CREDENTIALS environment variable
  2. Credentials provided by the Google Cloud SDK.
    1. gcloud auth application-default login for user account credentials.
    2. gcloud auth application-default login --impersonate-service-account for impersonated service account credentials.
  3. Google App Engine built-in credentials
  4. Google Cloud Shell built-in credentials
  5. Google Compute Engine built-in credentials
Returns
Type Description
GoogleCredentials

the credentials instance.

Exceptions
Type Description
IOException

if the credentials cannot be created in the current environment.

getApplicationDefault(HttpTransportFactory transportFactory)

public static GoogleCredentials getApplicationDefault(HttpTransportFactory transportFactory)

Returns the Application Default Credentials.

Returns the Application Default Credentials which are used to identify and authorize the whole application. The following are searched (in order) to find the Application Default Credentials:

  1. Credentials file pointed to by the GOOGLE_APPLICATION_CREDENTIALS environment variable
  2. Credentials provided by the Google Cloud SDK gcloud auth application-default login command
  3. Google App Engine built-in credentials
  4. Google Cloud Shell built-in credentials
  5. Google Compute Engine built-in credentials
Parameter
Name Description
transportFactory HttpTransportFactory

HTTP transport factory, creates the transport used to get access tokens.

Returns
Type Description
GoogleCredentials

the credentials instance.

Exceptions
Type Description
IOException

if the credentials cannot be created in the current environment.

newBuilder()

public static GoogleCredentials.Builder newBuilder()
Returns
Type Description
GoogleCredentials.Builder

Constructors

GoogleCredentials()

protected GoogleCredentials()

Default constructor.

GoogleCredentials(AccessToken accessToken)

public GoogleCredentials(AccessToken accessToken)

Constructor with explicit access token.

Parameter
Name Description
accessToken AccessToken

initial or temporary access token

GoogleCredentials(AccessToken accessToken, String quotaProjectId)

protected GoogleCredentials(AccessToken accessToken, String quotaProjectId)

Constructor with an explicit access token and quotaProjectId.

Deprecated, please use the GoogleCredentials#GoogleCredentials(Builder) constructor whenever possible.

Parameters
Name Description
accessToken AccessToken

initial or temporary access token

quotaProjectId String

a quotaProjectId, a project id to be used for billing purposes

GoogleCredentials(AccessToken accessToken, Duration refreshMargin, Duration expirationMargin)

protected GoogleCredentials(AccessToken accessToken, Duration refreshMargin, Duration expirationMargin)

Constructor with explicit access token and refresh margins.

Deprecated, please use the GoogleCredentials#GoogleCredentials(Builder) constructor whenever possible.

Parameters
Name Description
accessToken AccessToken

initial or temporary access token

refreshMargin Duration
expirationMargin Duration

GoogleCredentials(GoogleCredentials.Builder builder)

protected GoogleCredentials(GoogleCredentials.Builder builder)

Constructor that relies on a Builder to provide all the necessary field values for initialization.

Parameter
Name Description
builder GoogleCredentials.Builder

an instance of a builder

Fields

quotaProjectId

protected final String quotaProjectId
Field Value
Type Description
String

Methods

createDelegated(String user)

public GoogleCredentials createDelegated(String user)

If the credentials support domain-wide delegation, creates a copy of the identity so that it impersonates the specified user; otherwise, returns the same instance.

Parameter
Name Description
user String

User to impersonate.

Returns
Type Description
GoogleCredentials

GoogleCredentials with a delegated user.

createScoped(String[] scopes)

public GoogleCredentials createScoped(String[] scopes)

If the credentials support scopes, creates a copy of the identity with the specified scopes; otherwise, returns the same instance.

Parameter
Name Description
scopes String[]

Collection of scopes to request.

Returns
Type Description
GoogleCredentials

GoogleCredentials with requested scopes.

createScoped(Collection<String> scopes)

public GoogleCredentials createScoped(Collection<String> scopes)

If the credentials support scopes, creates a copy of the identity with the specified scopes, invalidates the existing scoped access token; otherwise, return the same instance.

Parameter
Name Description
scopes Collection<String>

Collection of scopes to request.

Returns
Type Description
GoogleCredentials

GoogleCredentials with requested scopes.

createScoped(Collection<String> scopes, Collection<String> defaultScopes)

public GoogleCredentials createScoped(Collection<String> scopes, Collection<String> defaultScopes)

If the credentials support scopes, creates a copy of the identity with the specified scopes and default scopes; otherwise, returns the same instance. This is mainly used by client libraries.

Parameters
Name Description
scopes Collection<String>

Collection of scopes to request.

defaultScopes Collection<String>

Collection of default scopes to request.

Returns
Type Description
GoogleCredentials

GoogleCredentials with requested scopes.

createScopedRequired()

public boolean createScopedRequired()

Indicates whether the credentials require scopes to be specified via a call to GoogleCredentials#createScoped before use.

Returns
Type Description
boolean

Whether the credentials require scopes to be specified.

createWithCustomRetryStrategy(boolean defaultRetriesEnabled)

public GoogleCredentials createWithCustomRetryStrategy(boolean defaultRetriesEnabled)

If the credentials support automatic retries, creates a copy of the identity with the provided retry strategy

Parameter
Name Description
defaultRetriesEnabled boolean

a flag enabling or disabling default retries

Returns
Type Description
GoogleCredentials

GoogleCredentials with the new default retries configuration.

createWithQuotaProject(String quotaProject)

public GoogleCredentials createWithQuotaProject(String quotaProject)

Creates a credential with the provided quota project.

Parameter
Name Description
quotaProject String

the quota project to set on the credential

Returns
Type Description
GoogleCredentials

credential with the provided quota project

equals(Object obj)

public boolean equals(Object obj)
Parameter
Name Description
obj Object
Returns
Type Description
boolean
Overrides

getAdditionalHeaders()

protected Map<String,List<String>> getAdditionalHeaders()

Provide additional headers to return as request metadata.

Returns
Type Description
Map<String,List<String>>
Overrides

getQuotaProjectId()

public String getQuotaProjectId()
Returns
Type Description
String

getUniverseDomain()

public String getUniverseDomain()

Gets the universe domain for the credential.

Returns
Type Description
String

An explicit universe domain if it was explicitly provided, invokes the super implementation otherwise

Overrides
Exceptions
Type Description
IOException

hashCode()

public int hashCode()
Returns
Type Description
int
Overrides

isExplicitUniverseDomain()

protected boolean isExplicitUniverseDomain()

Gets the flag indicating whether universeDomain was explicitly set by the developer.

If subclass has a requirement to give priority to developer-set universeDomain, this property must be used to check if the universeDomain value was provided by the user. It could be a default otherwise.

Returns
Type Description
boolean

true if universeDomain value was provided by the developer, false otherwise

toBuilder()

public GoogleCredentials.Builder toBuilder()
Returns
Type Description
GoogleCredentials.Builder
Overrides

toString()

public String toString()
Returns
Type Description
String
Overrides

toStringHelper()

protected MoreObjects.ToStringHelper toStringHelper()

A helper for overriding the toString() method. This allows inheritance of super class fields. Extending classes can override this implementation and call super implementation and add more fields. Same cannot be done with overriding the toString() directly.

Returns
Type Description
com.google.common.base.MoreObjects.ToStringHelper

an instance of the ToStringHelper that has public fields added