Cuando se esta tratando de configurar una aplicación con las API de Google y se implementa desde un servidor Linux (shell), la libreria com.google.api.client.extensions.jetty.auth.oauth2 lo configura para que redureccione a la URI de localhost: port.
LocalServerReceiver receiver = new LocalServerReceiver.Builder().setPort(8005).build();
¿Cómo puedo obtener el token modificando el dominio de la configuración de la libreria, para que no siempre me redirija a localhost en mi servidor Linux?
Para resolver esto se cambian los parametros de la libreria de la siguiente forma:
new LocalServerReceiver.Builder()
.setHost(“my.awesome.server”)
.setPort(8080)
.setCallbackPath(“/Callback”)
.build()
La linea completa dentro de nuestros codigo JAVA quedaria de la siguiente forma
LocalServerReceiver receiver = new LocalServerReceiver.Builder()
.setHost(“mi_dominio.com”)
.setPort(8005)
.setCallbackPath(“/Callback”)
.build();
// Build flow and trigger user authorization request.
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(HTTP_TRANSPORT, JSON_FACTORY,
clientSecrets, SCOPES).setDataStoreFactory(DATA_STORE_FACTORY).setAccessType(“offline”).build();
Credential credential = new AuthorizationCodeInstalledApp(flow, receiver).authorize(“user”);