GoogleSignInOptions.Builder

public static final class GoogleSignInOptions.Builder extends Object

Builder for GoogleSignInOptions,

Public Constructor Summary

GoogleSignInOptions.Builder()
Default Builder for GoogleSignInOptions which starts with clean configuration.
GoogleSignInOptions.Builder(GoogleSignInOptions googleSignInOptions)
A Builder for GoogleSignInOptions which you can specify one of the default configurations Google (will) provide and make additional configurations based on it.

Public Method Summary

GoogleSignInOptions.Builder
addExtension(GoogleSignInOptionsExtension extension)
Specifies additional sign-in options via the given extension.
GoogleSignInOptions
build()
Builds the GoogleSignInOptions object.
GoogleSignInOptions.Builder
requestEmail()
Specifies that email info is requested by your application.
GoogleSignInOptions.Builder
requestId()
Specifies that user ID is requested by your application.
GoogleSignInOptions.Builder
requestIdToken(String serverClientId)
Specifies that an ID token for authenticated users is requested.
GoogleSignInOptions.Builder
requestProfile()
Specifies that user's profile info is requested by your application.
GoogleSignInOptions.Builder
requestScopes(Scope scope, Scope... scopes)
Specifies OAuth 2.0 scopes your application requests.
GoogleSignInOptions.Builder
requestServerAuthCode(String serverClientId)
Specifies that offline access is requested.
GoogleSignInOptions.Builder
requestServerAuthCode(String serverClientId, boolean forceCodeForRefreshToken)
Specifies that offline access is requested.
GoogleSignInOptions.Builder
setAccountName(String accountName)
Specifies an account name on the device that should be used.
GoogleSignInOptions.Builder
setHostedDomain(String hostedDomain)
Specifies a hosted domain restriction.

Inherited Method Summary

Public Constructors

public GoogleSignInOptions.Builder ()

Default Builder for GoogleSignInOptions which starts with clean configuration.

If you are trying to implement Sign In, i.e. you want to get back user identity, you can start with new GoogleSignInOptions(GoogleSignInOptions.DEFAULT_SIGN_IN),

public GoogleSignInOptions.Builder (GoogleSignInOptions googleSignInOptions)

A Builder for GoogleSignInOptions which you can specify one of the default configurations Google (will) provide and make additional configurations based on it. e.g.DEFAULT_SIGN_IN.

Public Methods

public GoogleSignInOptions.Builder addExtension (GoogleSignInOptionsExtension extension)

Specifies additional sign-in options via the given extension.

Parameters
extension A sign-in extension used to further configure API specific sign-in options. Supported values include: Games.GamesOptions.

public GoogleSignInOptions build ()

Builds the GoogleSignInOptions object.

Returns

public GoogleSignInOptions.Builder requestEmail ()

Specifies that email info is requested by your application. Note that we don't recommend keying user by email address since email address might change. Keying user by ID is the preferable approach.

public GoogleSignInOptions.Builder requestId ()

Specifies that user ID is requested by your application.

public GoogleSignInOptions.Builder requestIdToken (String serverClientId)

Specifies that an ID token for authenticated users is requested. Requesting an ID token requires that the server client ID be specified.

Parameters
serverClientId The client ID of the server that will verify the integrity of the token.

public GoogleSignInOptions.Builder requestProfile ()

Specifies that user's profile info is requested by your application.

public GoogleSignInOptions.Builder requestScopes (Scope scope, Scope... scopes)

Specifies OAuth 2.0 scopes your application requests. See Scopes for more information.

Parameters
scope An OAuth 2.0 scope requested by your app.
scopes More OAuth 2.0 scopes requested by your app.

public GoogleSignInOptions.Builder requestServerAuthCode (String serverClientId)

Specifies that offline access is requested. Requesting offline access requires that the server client ID be specified.

You don't need to use requestIdToken(String) when you use this option. When your server exchanges the code for tokens, an ID token will be returned together (as long as you either use requestEmail() or requestProfile() along with your configuration).

The first time you retrieve a code, a refresh_token will be granted automatically. Subsequent requests will only return codes that can be exchanged for access token.

Parameters
serverClientId The client ID of the server that will need the auth code.

public GoogleSignInOptions.Builder requestServerAuthCode (String serverClientId, boolean forceCodeForRefreshToken)

Specifies that offline access is requested. Requesting offline access requires that the server client ID be specified.

You don't need to use requestIdToken(String) when you use this option. When your server exchanges the code for tokens, an ID token will be returned together (as long as you either use requestEmail() or requestProfile() along with this configuration).

Parameters
serverClientId The client ID of the server that will need the auth code.
forceCodeForRefreshToken If true, the granted code can be exchanged for an access token and a refresh token. The first time you retrieve a code, a refresh_token will be granted automatically. Subsequent requests will require additional user consent. Use false by default; only use true if your server has suffered some failure and lost the user's refresh token.

public GoogleSignInOptions.Builder setAccountName (String accountName)

Specifies an account name on the device that should be used. If this is never called, the client will use the current default account for this application.

Parameters
accountName The account name on the device that should be used to sign in.

public GoogleSignInOptions.Builder setHostedDomain (String hostedDomain)

Specifies a hosted domain restriction. By setting this, sign in will be restricted to accounts of the user in the specified domain.

Parameters
hostedDomain domain of the user to restrict (for example, "mycollege.edu"),