java.lang.Object | |
↳ | com.google.android.gms.auth.GoogleAuthUtil |
GoogleAuthUtil provides static utility methods to acquire ClientLogin or OAuth2 tokens for Google accounts; and also to invalidate ClientLogin or OAuth2 tokens.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | CHANGE_TYPE_ACCOUNT_ADDED | Change types that can be represented in an AccountChangeEvent . |
|||||||||
int | CHANGE_TYPE_ACCOUNT_REMOVED | ||||||||||
int | CHANGE_TYPE_ACCOUNT_RENAMED_FROM | A rename event that will contain extra data indicating the original account name. | |||||||||
int | CHANGE_TYPE_ACCOUNT_RENAMED_TO | A rename event that will contain extra data indicating the new account name. | |||||||||
String | GOOGLE_ACCOUNT_TYPE | Google Account type string. | |||||||||
String | KEY_REQUEST_ACTIONS | ||||||||||
String | KEY_REQUEST_VISIBLE_ACTIVITIES | See KEY_REQUEST_ACTIONS . |
|||||||||
String | KEY_SUPPRESS_PROGRESS_SCREEN | Adding KEY_SUPPRESS_PROGRESS will suppress the progress screen shown when getting a token when
added as a boolean true option while calling getToken(Context, String, String, Bundle) . |
|||||||||
String | WORK_ACCOUNT_TYPE | Android for Work Account type string. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Clear the specified token in local cache with respect to the
Context . | |||||||||||
Gets a list of events for the given account.
| |||||||||||
Gets a stable account id for the given account name.
| |||||||||||
Gets an access token directly.
| |||||||||||
This method is deprecated.
Use
getToken(Context, Account, String, Bundle) instead. | |||||||||||
This method is deprecated.
Use
getToken(Context, Account, String) instead. | |||||||||||
This method is deprecated.
Use
getTokenWithNotification(Context, Account, String, Bundle, String, Bundle) instead.
| |||||||||||
Authenticates the user and returns a valid Google authentication token, or throws an
Exception if there was an error while getting the token. | |||||||||||
This method is deprecated.
Use
getTokenWithNotification(Context, Account, String, Bundle, Intent)
instead.
| |||||||||||
Authenticates the user and returns a valid Google authentication token, or throws an
Exception if there was an error while getting the token. | |||||||||||
This method is deprecated.
Use
getTokenWithNotification(Context, Account, String, Bundle) instead.
| |||||||||||
Authenticates the user and returns a valid Google authentication token, or throws an
Exception if there was an error while getting the token. | |||||||||||
This method is deprecated.
Deprecated because calling this function requires permissions MANAGE_ACCOUNTS and
USE_CREDENTIALS. Please use
clearToken(Context, String) instead.
| |||||||||||
Removes an account from the AccountManager.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Change types that can be represented in an AccountChangeEvent
.
A rename event that will contain extra data indicating the original account name.
A rename event that will contain extra data indicating the new account name.
Google Account type string. Used for various calls to AccountManager
.
See also:
See KEY_REQUEST_ACTIONS
.
Adding KEY_SUPPRESS_PROGRESS will suppress the progress screen shown when getting a token when
added as a boolean true
option while calling getToken(Context, String, String, Bundle)
. This is useful for apps that provide their own splash screens on initialization.
Android for Work Account type string. Used for various calls to AccountManager
.
Clear the specified token in local cache with respect to the Context
. Note that the
context must be the same as that used to initialize the token in a previous call to getToken(Context, String, String)
or getToken(Context, String, String, Bundle)
.
Parameters | |
---|---|
context |
Context :
Context of the token. |
token |
String :
The token to clear.
|
Throws | |
---|---|
GooglePlayServicesAvailabilityException |
|
GoogleAuthException |
|
IOException |
Gets a list of events for the given account. The result is in reverse chronological order.
Parameters | |
---|---|
context |
Context
|
eventIndex |
int :
An event index to restrict results by. If 0 then all events will be
fetched. Otherwise, events greater than this index will be fetched. Callers can store the
last event index seen and use this field to limit results to only events more recent than
the ones seen prior. |
accountName |
String :
The account name to restrict the event list to.
|
Returns | |
---|---|
List<AccountChangeEvent> |
Throws | |
---|---|
GoogleAuthException |
|
IOException |
Gets a stable account id for the given account name. In the event of a missing id, user
intervention may be required. In such cases, a UserRecoverableAuthException
will be
thrown. To initiate the user recovery workflow, clients must start the Intent
returned
by getIntent()
for result. Upon successfully returning a
client should invoke this method again to get an id.
Parameters | |
---|---|
ctx |
Context
|
accountName |
String
|
Returns | |
---|---|
String |
Throws | |
---|---|
GooglePlayServicesAvailabilityException |
containing the appropriate connection status error code. |
UserRecoverableAuthException |
wrapping an Intent for initiating user intervention. The
wrapped intent must be called with startActivityForResult(Intent, int) . |
GoogleAuthException |
signaling a potentially unrecoverable authentication error. |
IOException |
signaling a potentially transient error. |
IllegalStateException |
if the method is invoked in the main event thread. |
Gets an access token directly. There are better approaches than GoogleAuthUtil for authentication and authorization in your application:
This method requires substantial network IO thus should be run off the UI thread.
Be sure to handle the UserRecoverableAuthException
exception, as it is normal
behavior that user interaction is required.
Parameters | |
---|---|
context |
Context :
The Context of the caller. |
account |
Account :
The user account that the token will be associated with. |
scope |
String :
A String representing the authentication scope, prefixed with "oauth2:".
To specify multiple scopes, separate them with a space (for example, "oauth2:scope1 scope2
scope3"). |
extras |
Bundle :
A Bundle that contains additional information. For example, clients that
have their own splash screens can suppress the progress dialog provided by Google Play
services by setting KEY_SUPPRESS_PROGRESS_SCREEN to true in the Bundle . |
Returns | |
---|---|
String |
A String that contains a valid token. |
Throws | |
---|---|
UserRecoverableAuthException |
Signaling that a user action is required (to provide
consent, enter a password, etc.). To initiate the user action, clients must start the
Intent returned by getIntent() . Upon
successfully returning a client should invoke this method again to get a token. |
IOException |
Signaling a transient error (typically network related). It is left to clients to implement a backoff/abandonment strategy appropriate to their latency requirements. |
GooglePlayServicesAvailabilityException |
Signaling that GooglePlayServices is not available. |
GoogleAuthException |
Signaling an unrecoverable authentication error. These errors will typically result from client errors (e.g. providing an invalid scope). |
IllegalStateException |
If the method is invoked in the main event thread. |
Parameters | |
---|---|
context |
Context
|
account |
Account
|
scope |
String
|
Returns | |
---|---|
String |
Throws | |
---|---|
IOException |
|
UserRecoverableAuthException |
|
GoogleAuthException |
This method is deprecated.
Use getToken(Context, Account, String, Bundle)
instead.
Parameters | |
---|---|
context |
Context
|
accountName |
String
|
scope |
String
|
extras |
Bundle
|
Returns | |
---|---|
String |
Throws | |
---|---|
IOException |
|
UserRecoverableAuthException |
|
GoogleAuthException |
This method is deprecated.
Use getToken(Context, Account, String)
instead.
Parameters | |
---|---|
context |
Context
|
accountName |
String
|
scope |
String
|
Returns | |
---|---|
String |
Throws | |
---|---|
IOException |
|
UserRecoverableAuthException |
|
GoogleAuthException |
This method is deprecated.
Use getTokenWithNotification(Context, Account, String, Bundle, String, Bundle)
instead.
Parameters | |
---|---|
context |
Context
|
accountName |
String
|
scope |
String
|
extras |
Bundle
|
authority |
String
|
syncBundle |
Bundle
|
Returns | |
---|---|
String |
Throws | |
---|---|
IOException |
|
UserRecoverableNotifiedException |
|
GoogleAuthException |
Authenticates the user and returns a valid Google authentication token, or throws an Exception
if there was an error while getting the token.
This method is specifically provided for background tasks. In the event of an error that needs user intervention, this method takes care of pushing relevant notification.
The exception thrown depends upon the underlying error and support for recovery. UserRecoverableNotifiedException
will be thrown if the error can be resolved by user
intervention and a notification has already been posted to address it. IOException
s
will be thrown if the underlying error might be solved by some intelligent retry strategy.
Alternatively, GoogleAuthException
s represent a broad class of Exception
s that
cannot be recovered programmatically.
There are better approaches than GoogleAuthUtil for authentication and authorization in your application:
Parameters | |
---|---|
context |
Context :
Context associated with the desired token. |
account |
Account :
Authenticating user account. |
scope |
String :
String representing the authentication scope. To specify multiple scopes, separate
them with a space (for example, "oauth2:scope1 scope2 scope3"). |
extras |
Bundle :
Bundle containing additional information that may be relevant to the
authentication scope. |
Returns | |
---|---|
String |
String containing a valid token. |
Throws | |
---|---|
UserRecoverableNotifiedException |
if a user addressable error occurred and a notification was pushed. |
GoogleAuthException |
signaling a potentially unrecoverable authentication error. |
IOException |
signaling a potentially transient error. |
IllegalStateException |
if the method is invoked in the main event thread. |
This method is deprecated.
Use getTokenWithNotification(Context, Account, String, Bundle, Intent)
instead.
Parameters | |
---|---|
context |
Context
|
accountName |
String
|
scope |
String
|
extras |
Bundle
|
callback |
Intent
|
Returns | |
---|---|
String |
Throws | |
---|---|
IOException |
|
UserRecoverableNotifiedException |
|
GoogleAuthException |
Authenticates the user and returns a valid Google authentication token, or throws an Exception
if there was an error while getting the token.
This method is specifically provided for sync adaptors. In the event of an error that needs user intervention, this method takes care of pushing relevant notification. After the user addresses the notification, a sync request will be kicked off using the given params. If the user cancels then the sync is not fired.
The exception thrown depends upon the underlying error and support for recovery. UserRecoverableNotifiedException
will be thrown if the error can be resolved by user
intervention and a notification has already been posted to address it. IOException
s
will be thrown if the underlying error might be solved by some intelligent retry strategy.
Alternatively, GoogleAuthException
s represent a broad class of Exception
s that
cannot be recovered programmatically.
There are better approaches than GoogleAuthUtil for authentication and authorization in your application:
Parameters | |
---|---|
context |
Context :
Context associated with the desired token. |
account |
Account :
Authenticating user account. |
scope |
String :
String representing the authentication scope. To specify multiple scopes, separate
them with a space (for example, "oauth2:scope1 scope2 scope3"). |
extras |
Bundle :
Bundle containing additional information that may be relevant to the
authentication scope. |
authority |
String :
Authority for firing a sync request. Must not be empty or null. |
syncBundle |
Bundle :
extras for firing a sync request. This bundle must pass
ContentResolver.validateSyncExtrasBundle(). If no extras are needed can a null value can be
passed. |
Returns | |
---|---|
String |
String containing a valid token. |
Throws | |
---|---|
UserRecoverableNotifiedException |
if a user addressable error occurred and a notification was pushed. |
GoogleAuthException |
signaling a potentially unrecoverable authentication error. |
IOException |
signaling a potentially transient error. |
IllegalStateException |
if the method is invoked in the main event thread. |
This method is deprecated.
Use getTokenWithNotification(Context, Account, String, Bundle)
instead.
Parameters | |
---|---|
context |
Context
|
accountName |
String
|
scope |
String
|
extras |
Bundle
|
Returns | |
---|---|
String |
Throws | |
---|---|
IOException |
|
UserRecoverableNotifiedException |
|
GoogleAuthException |
Authenticates the user and returns a valid Google authentication token, or throws an Exception
if there was an error while getting the token.
This method is specifically provided for background tasks. In the event of an error that needs user intervention, this method takes care of pushing relevant notification. After the user addresses the notification, the callback is broadcasted. If the user cancels then the callback is not fired.
The exception thrown depends upon the underlying error and support for recovery. UserRecoverableNotifiedException
will be thrown if the error can be resolved by user
intervention and a notification has already been posted to address it. IOException
s
will be thrown if the underlying error might be solved by some intelligent retry strategy.
Alternatively, GoogleAuthException
s represent a broad class of Exception
s that
cannot be recovered programmatically.
There are better approaches than GoogleAuthUtil for authentication and authorization in your application:
Parameters | |
---|---|
context |
Context :
Context associated with the desired token. |
account |
Account :
Authenticating user account. |
scope |
String :
String representing the authentication scope. To specify multiple scopes, separate
them with a space (for example, "oauth2:scope1 scope2 scope3"). |
extras |
Bundle :
Bundle containing additional information that may be relevant to the
authentication scope. |
callback |
Intent :
A broadcast intent with a valid receiver that has been exported for other apps
to send broadcasts to it. This intent must be serializable using
toUri(Intent.URI_INTENT_SCHEME) and Intent.parseUri(intentUri, Intent.URI_INTENT_SCHEME).
Cannot be null. |
Returns | |
---|---|
String |
String containing a valid token. |
Throws | |
---|---|
UserRecoverableNotifiedException |
if a user addressable error occurred and a notification was pushed. |
GoogleAuthException |
signaling a potentially unrecoverable authentication error. |
IOException |
signaling a potentially transient error. |
IllegalStateException |
if the method is invoked in the main event thread. |
This method is deprecated.
Deprecated because calling this function requires permissions MANAGE_ACCOUNTS and
USE_CREDENTIALS. Please use clearToken(Context, String)
instead.
Parameters | |
---|---|
context |
Context
|
token |
String
|
Removes an account from the AccountManager.
Similar to removeAccount(Account, AccountManagerCallback, Handler)
but does not enforce permission checks when called by the device owner or profile owner.
This method is not safe to call from UI thread.
See DevicePolicyManager
for definition of device owner and profile owner.
Parameters | |
---|---|
context |
Context :
Context of the caller. |
account |
Account :
The account to remove. |
Returns | |
---|---|
Bundle |
See removeAccount(Account, AccountManagerCallback, Handler) for
more details.
|
Throws | |
---|---|
GoogleAuthException |
|
IOException |