GoogleSignInAccount

public class GoogleSignInAccount implements Parcelable


Class that holds the basic account information of the signed in Google user.

Summary

Public methods

boolean
@Nullable Account

A convenient wrapper for getEmail which returns an android.accounts.Account object.

@Nullable String

Returns the display name of the signed in user if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise.

@Nullable String

Returns the email address of the signed in user if requestEmail was configured; null otherwise.

@Nullable String

Returns the family name of the signed in user if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise.

@Nullable String

Returns the given name of the signed in user if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise.

@NonNull Set<Scope>

Returns all scopes that have been authorized to your application.

@Nullable String

Returns the unique ID for the Google account if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestId configured; null otherwise.

@Nullable String

Returns an ID token that you can send to your server if requestIdToken was configured; null otherwise.

@Nullable Uri

Returns the photo url of the signed in user if the user has a profile picture and you built your configuration either starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise.

@Nullable String

Returns a one-time server auth code to send to your web server which can be exchanged for access token and sometimes refresh token if requestServerAuthCode is configured; null otherwise.

int
void
writeToParcel(Parcel out, int flags)

Inherited Constants

From android.os.Parcelable
static final int
static final int

Inherited methods

From android.os.Parcelable
abstract int

Constants

CREATOR

public static final Parcelable.Creator<GoogleSignInAccountCREATOR

Public fields

displayName

public final @Nullable String displayName

email

public final @Nullable String email

familyName

public final @Nullable String familyName

givenName

public final @Nullable String givenName

id

public final @Nullable String id

idToken

public final @Nullable String idToken

photoUrl

public final @Nullable Uri photoUrl

serverAuthCode

public @Nullable String serverAuthCode

Public methods

equals

public boolean equals(@Nullable Object obj)

getAccount

public @Nullable Account getAccount()

A convenient wrapper for getEmail which returns an android.accounts.Account object. See getEmail doc for details.

getDisplayName

public @Nullable String getDisplayName()

Returns the display name of the signed in user if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise. Not guaranteed to be present for all users, even when configured.

getEmail

public @Nullable String getEmail()

Returns the email address of the signed in user if requestEmail was configured; null otherwise.

Applications should not key users by email address since a Google account's email address can change. Use getId as a key instead.

Important: Do not use this returned email address to communicate the currently signed in user to your backend server. Instead, send an ID token (requestIdToken), which can be securely validated on the server; or send server auth code (requestServerAuthCode) which can be in turn exchanged for id token.

See Authenticate with a backend server for details.

getFamilyName

public @Nullable String getFamilyName()

Returns the family name of the signed in user if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise. Not guaranteed to be present for all users, even when configured.

getGivenName

public @Nullable String getGivenName()

Returns the given name of the signed in user if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise. Not guaranteed to be present for all users, even when configured.

getGrantedScopes

public @NonNull Set<ScopegetGrantedScopes()

Returns all scopes that have been authorized to your application.

This can be a larger set than what you have requested via GoogleSignInOptions. We recommend apps requesting minimum scopes at user sign in time and later requesting additional scopes incrementally when user is using a certain feature. For those apps following this incremental auth practice, they can use the returned scope set to determine all authorized scopes (across platforms and app re-installs) to turn on bonus features accordingly. The returned set can also be larger due to other scope handling logic.

getId

public @Nullable String getId()

Returns the unique ID for the Google account if you built your configuration starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestId configured; null otherwise.

This is the preferred unique key to use for a user record.

Important: Do not use this returned Google ID to communicate the currently signed in user to your backend server. Instead, send an ID token (requestIdToken), which can be securely validated on the server; or send a server auth code (requestServerAuthCode) which can be in turn exchanged for id token.

See Authenticate with a backend server for details.

getIdToken

public @Nullable String getIdToken()

Returns an ID token that you can send to your server if requestIdToken was configured; null otherwise.

ID token is a JSON Web Token signed by Google that can be used to identify a user to a backend.

getPhotoUrl

public @Nullable Uri getPhotoUrl()

Returns the photo url of the signed in user if the user has a profile picture and you built your configuration either starting from new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)} or with requestProfile configured; null otherwise. Not guaranteed to be present for all users, even when configured.

getServerAuthCode

public @Nullable String getServerAuthCode()

Returns a one-time server auth code to send to your web server which can be exchanged for access token and sometimes refresh token if requestServerAuthCode is configured; null otherwise. {@see * GoogleSignInOptions.Builder#requestServerAuthCode} for details.

hashCode

public int hashCode()

writeToParcel

public void writeToParcel(Parcel out, int flags)