2012-09-24 39 views
14

Estoy tratando de obtener un token de acceso para utilizar la API de Google Play para desarrolladores de Android, y llegué hasta aquí usando the Google API Java Client documentation example:¿Cómo obtener el token de acceso de GoogleCredential?

HttpTransport HTTP_TRANSPORT = new NetHttpTransport(); 
JsonFactory JSON_FACTORY = new JacksonFactory(); 

GoogleCredential credential = new GoogleCredential.Builder() 
    .setTransport(HTTP_TRANSPORT) 
    .setJsonFactory(JSON_FACTORY) 
    .setServiceAccountId("...gserviceaccount.com") 
    .setServiceAccountScopes("https://www.googleapis.com/auth/androidpublisher") 
    .setServiceAccountPrivateKeyFromP12File(keyFile) 
    .build(); 

Pero, ¿cómo puedo obtener el token de acceso de esta credencial? credential.getAccessToken() devuelve null. ¿Estoy haciendo algo mal o me faltan algunos pasos?

+0

Compruebe también http://stackoverflow.com/a/24264696/165708 algunos pasos más que podría necesitar para que todo funcione. –

Respuesta

39

Lo tengo. Debe llamar a credential.refreshToken() antes de credential.getAccessToken(). No dice esto en ninguna parte de la documentación, pero eso es lo que hace.

credential.refreshToken(); 
accessToken = credential.getAccessToken(); 
+3

Muchas gracias @TheBeatlemaniac realmente te preguntas por qué esto no está escrito en la documentación – jlezard

+1

Gracias. Es muy extraño que no esté en los documentos, pero es por eso que lo tenemos. :) – Nemanja

+0

¡Sí! Hombre, salvaste mi día :) o/ Gracias @kalina! – Tuelho

Cuestiones relacionadas