Class RefreshTokenRequest
Use Credential
to access protected resources from the resource server using the
TokenResponse
returned by TokenRequest.execute()
. On error, it will instead throw
TokenResponseException
.
Sample usage:
static void refreshAccessToken() throws IOException { try { TokenResponse response = new RefreshTokenRequest(new NetHttpTransport(), new JacksonFactory(), new GenericUrl( "https://server.example.com/token"), "tGzv3JOkF0XG5Qx2TlKWIA") .setClientAuthentication( new BasicAuthentication("s6BhdRkqt3", "7Fjfp0ZBr1KtDRbnfVdmIw")).execute(); System.out.println("Access token: " + response.getAccessToken()); } catch (TokenResponseException e) { if (e.getDetails() != null) { System.err.println("Error: " + e.getDetails().getError()); if (e.getDetails().getErrorDescription() != null) { System.err.println(e.getDetails().getErrorDescription()); } if (e.getDetails().getErrorUri() != null) { System.err.println(e.getDetails().getErrorUri()); } } else { System.err.println(e.getMessage()); } } }
Some OAuth 2.0 providers don't support BasicAuthentication
but instead support
ClientParametersAuthentication
. In the above sample code, simply replace the class name
and it will work the same way.
Implementation is not thread-safe.
- Since:
- 1.7
-
Nested Class Summary
Nested classes/interfaces inherited from class com.google.api.client.util.GenericData
com.google.api.client.util.GenericData.Flags
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Field Summary
FieldsFields inherited from class com.google.api.client.auth.oauth2.TokenRequest
clientAuthentication, requestInitializer
-
Constructor Summary
ConstructorsConstructorDescriptionRefreshTokenRequest
(com.google.api.client.http.HttpTransport transport, com.google.api.client.json.JsonFactory jsonFactory, com.google.api.client.http.GenericUrl tokenServerUrl, String refreshToken) -
Method Summary
Modifier and TypeMethodDescriptionfinal String
Returns the refresh token issued to the client.setClientAuthentication
(com.google.api.client.http.HttpExecuteInterceptor clientAuthentication) Sets the client authentication ornull
for none.setGrantType
(String grantType) Sets the grant type ("authorization_code"
,"password"
,"client_credentials"
,"refresh_token"
or absolute URI of the extension grant type).setRefreshToken
(String refreshToken) Sets the refresh token issued to the client.setRequestInitializer
(com.google.api.client.http.HttpRequestInitializer requestInitializer) Sets the HTTP request initializer ornull
for none.setScopes
(Collection<String> scopes) Sets the list of scopes (as specified in Access Token Scope) ornull
for none.setTokenServerUrl
(com.google.api.client.http.GenericUrl tokenServerUrl) Sets the token server URL.Methods inherited from class com.google.api.client.auth.oauth2.TokenRequest
execute, executeUnparsed, getClientAuthentication, getGrantType, getJsonFactory, getRequestInitializer, getScopes, getTokenServerUrl, getTransport
Methods inherited from class com.google.api.client.util.GenericData
clone, entrySet, get, getClassInfo, getUnknownKeys, put, putAll, remove, setUnknownKeys
Methods inherited from class java.util.AbstractMap
clear, containsKey, containsValue, equals, hashCode, isEmpty, keySet, size, toString, values
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
refreshToken
Refresh token issued to the client.
-
-
Constructor Details
-
RefreshTokenRequest
public RefreshTokenRequest(com.google.api.client.http.HttpTransport transport, com.google.api.client.json.JsonFactory jsonFactory, com.google.api.client.http.GenericUrl tokenServerUrl, String refreshToken) - Parameters:
transport
- HTTP transportjsonFactory
- JSON factorytokenServerUrl
- token server URLrefreshToken
- refresh token issued to the client
-
-
Method Details
-
setRequestInitializer
public RefreshTokenRequest setRequestInitializer(com.google.api.client.http.HttpRequestInitializer requestInitializer) Description copied from class:TokenRequest
Sets the HTTP request initializer ornull
for none.Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
- Overrides:
setRequestInitializer
in classTokenRequest
-
setTokenServerUrl
Description copied from class:TokenRequest
Sets the token server URL.Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
- Overrides:
setTokenServerUrl
in classTokenRequest
-
setScopes
Description copied from class:TokenRequest
Sets the list of scopes (as specified in Access Token Scope) ornull
for none.Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
- Overrides:
setScopes
in classTokenRequest
- Parameters:
scopes
- collection of scopes to be joined by a space separator (or a single value containing multiple space-separated scopes)
-
setGrantType
Description copied from class:TokenRequest
Sets the grant type ("authorization_code"
,"password"
,"client_credentials"
,"refresh_token"
or absolute URI of the extension grant type).Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
- Overrides:
setGrantType
in classTokenRequest
-
setClientAuthentication
public RefreshTokenRequest setClientAuthentication(com.google.api.client.http.HttpExecuteInterceptor clientAuthentication) Description copied from class:TokenRequest
Sets the client authentication ornull
for none.The recommended initializer by the specification is
BasicAuthentication
. All authorization servers must support that. A common alternative isClientParametersAuthentication
. An alternative client authentication method may be provided that implementsHttpRequestInitializer
.This HTTP request execute interceptor is guaranteed to be the last execute interceptor before the request is executed, and after any execute interceptor set by the
TokenRequest.getRequestInitializer()
.Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
- Overrides:
setClientAuthentication
in classTokenRequest
-
getRefreshToken
Returns the refresh token issued to the client. -
setRefreshToken
Sets the refresh token issued to the client.Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
-
set
- Overrides:
set
in classTokenRequest
-