Class AuthorizationCodeTokenRequest (1.34.1)

public class AuthorizationCodeTokenRequest extends TokenRequest

OAuth 2.0 request for an access token using an authorization code as specified in Access Token Request.

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 requestAccessToken() throws IOException { try { TokenResponse response = new AuthorizationCodeTokenRequest(new NetHttpTransport(), new GsonFactory(), new GenericUrl("https://server.example.com/token"), "SplxlOBeZQQYbYS6WxSbIA") .setRedirectUri("https://client.example.com/rd") .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 > AuthorizationCodeTokenRequest

Constructors

AuthorizationCodeTokenRequest(HttpTransport transport, JsonFactory jsonFactory, GenericUrl tokenServerUrl, String code)

public AuthorizationCodeTokenRequest(HttpTransport transport, JsonFactory jsonFactory, GenericUrl tokenServerUrl, String code)
Parameters
NameDescription
transportcom.google.api.client.http.HttpTransport

HTTP transport

jsonFactorycom.google.api.client.json.JsonFactory

JSON factory

tokenServerUrlcom.google.api.client.http.GenericUrl

token server URL

codeString

authorization code generated by the authorization server

Methods

getCode()

public final String getCode()

Returns the authorization code generated by the authorization server.

Returns
TypeDescription
String

getRedirectUri()

public final String getRedirectUri()

Returns the redirect URI parameter matching the redirect URI parameter in the authorization request or null for none.

Returns
TypeDescription
String

set(String fieldName, Object value)

public AuthorizationCodeTokenRequest set(String fieldName, Object value)
Parameters
NameDescription
fieldNameString
valueObject
Returns
TypeDescription
AuthorizationCodeTokenRequest
Overrides

setClientAuthentication(HttpExecuteInterceptor clientAuthentication)

public AuthorizationCodeTokenRequest 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.

Parameter
NameDescription
clientAuthenticationcom.google.api.client.http.HttpExecuteInterceptor
Returns
TypeDescription
AuthorizationCodeTokenRequest
Overrides

setCode(String code)

public AuthorizationCodeTokenRequest setCode(String code)

Sets the authorization code generated by the authorization server.

Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.

Parameter
NameDescription
codeString
Returns
TypeDescription
AuthorizationCodeTokenRequest

setGrantType(String grantType)

public AuthorizationCodeTokenRequest 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.

Parameter
NameDescription
grantTypeString
Returns
TypeDescription
AuthorizationCodeTokenRequest
Overrides

setRedirectUri(String redirectUri)

public AuthorizationCodeTokenRequest setRedirectUri(String redirectUri)

Sets the redirect URI parameter matching the redirect URI parameter in the authorization request or null for none.

Overriding is only supported for the purpose of calling the super implementation and changing the return type, but nothing else.

Parameter
NameDescription
redirectUriString
Returns
TypeDescription
AuthorizationCodeTokenRequest

setRequestInitializer(HttpRequestInitializer requestInitializer)

public AuthorizationCodeTokenRequest 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.

Parameter
NameDescription
requestInitializercom.google.api.client.http.HttpRequestInitializer
Returns
TypeDescription
AuthorizationCodeTokenRequest
Overrides

setResponseClass(Class<? extends TokenResponse> responseClass)

public AuthorizationCodeTokenRequest setResponseClass(Class<? extends TokenResponse> responseClass)

Sets the TokenResponse class to allow specifying object parsing.

Parameter
NameDescription
responseClassClass<? extends com.google.api.client.auth.oauth2.TokenResponse>
Returns
TypeDescription
AuthorizationCodeTokenRequest
Overrides

setScopes(Collection<String> scopes)

public AuthorizationCodeTokenRequest 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.

Parameter
NameDescription
scopesCollection<String>
Returns
TypeDescription
AuthorizationCodeTokenRequest
Overrides

setTokenServerUrl(GenericUrl tokenServerUrl)

public AuthorizationCodeTokenRequest 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.

Parameter
NameDescription
tokenServerUrlcom.google.api.client.http.GenericUrl
Returns
TypeDescription
AuthorizationCodeTokenRequest
Overrides