public class RefreshTokenRequest extends TokenRequest
OAuth 2.0 request to refresh an access token using a refresh token as specified in Refreshing an Access Token.
Use Credential to access protected resources from the resource server using the TokenResponse returned by #execute(). On error, it will instead throw TokenResponseException.
Sample usage:
static void refreshAccessToken() throws IOException { try { TokenResponse response = new RefreshTokenRequest(new NetHttpTransport(), new GsonFactory(), 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.
Inheritance
Object > java.util.AbstractMap > com.google.api.client.util.GenericData > TokenRequest > RefreshTokenRequestConstructors
RefreshTokenRequest(HttpTransport transport, JsonFactory jsonFactory, GenericUrl tokenServerUrl, String refreshToken)
public RefreshTokenRequest(HttpTransport transport, JsonFactory jsonFactory, GenericUrl tokenServerUrl, String refreshToken)
Name | Description |
transport | com.google.api.client.http.HttpTransport HTTP transport |
jsonFactory | com.google.api.client.json.JsonFactory JSON factory |
tokenServerUrl | com.google.api.client.http.GenericUrl token server URL |
refreshToken | String refresh token issued to the client |
Methods
getRefreshToken()
public final String getRefreshToken()
Returns the refresh token issued to the client.
Type | Description |
String |
set(String fieldName, Object value)
public RefreshTokenRequest set(String fieldName, Object value)
Name | Description |
fieldName | String |
value | Object |
Type | Description |
RefreshTokenRequest |
setClientAuthentication(HttpExecuteInterceptor clientAuthentication)
public RefreshTokenRequest setClientAuthentication(HttpExecuteInterceptor clientAuthentication)
Sets the client authentication or null
for none.
The recommended initializer by the specification is BasicAuthentication. All authorization servers must support that. A common alternative is ClientParametersAuthentication. An alternative client authentication method may be provided that implements HttpRequestInitializer.
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 #getRequestInitializer().
Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
Name | Description |
clientAuthentication | com.google.api.client.http.HttpExecuteInterceptor |
Type | Description |
RefreshTokenRequest |
setGrantType(String grantType)
public RefreshTokenRequest setGrantType(String grantType)
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.
Name | Description |
grantType | String |
Type | Description |
RefreshTokenRequest |
setRefreshToken(String refreshToken)
public RefreshTokenRequest setRefreshToken(String refreshToken)
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.
Name | Description |
refreshToken | String |
Type | Description |
RefreshTokenRequest |
setRequestInitializer(HttpRequestInitializer requestInitializer)
public RefreshTokenRequest setRequestInitializer(HttpRequestInitializer requestInitializer)
Sets the HTTP request initializer or null
for none.
Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
Name | Description |
requestInitializer | com.google.api.client.http.HttpRequestInitializer |
Type | Description |
RefreshTokenRequest |
setResponseClass(Class<? extends TokenResponse> responseClass)
public RefreshTokenRequest setResponseClass(Class<? extends TokenResponse> responseClass)
Sets the TokenResponse class to allow specifying object parsing.
Name | Description |
responseClass | Class<? extends com.google.api.client.auth.oauth2.TokenResponse> |
Type | Description |
RefreshTokenRequest |
setScopes(Collection<String> scopes)
public RefreshTokenRequest setScopes(Collection<String> scopes)
Sets the list of scopes (as specified in Access Token Scope) or null
for none.
Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.
Name | Description |
scopes | Collection<String> |
Type | Description |
RefreshTokenRequest |
setTokenServerUrl(GenericUrl tokenServerUrl)
public RefreshTokenRequest setTokenServerUrl(GenericUrl tokenServerUrl)
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.
Name | Description |
tokenServerUrl | com.google.api.client.http.GenericUrl |
Type | Description |
RefreshTokenRequest |