2012-09-24 12 views
14

Ich versuche, ein Zugriffstoken erhalten die Google Android Developer API-Play, zu verwenden und ich habe bis jetzt diese the Google API Java Client documentation example mit:Wie bekomme ich Zugangstoken von 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(); 

Aber wie bekomme ich das Zugriffstoken von diesem Berechtigungsnachweis? credential.getAccessToken() gibt null zurück. Mache ich etwas falsch oder verpasse ein paar Schritte?

+0

Überprüfen Sie auch http://StackOverflow.com/A/24264696/165708 einige weitere Schritte, die Sie möglicherweise ergreifen müssen, um alles funktionieren zu lassen. –

Antwort

39

Ich habe es. Sie müssen credential.refreshToken() vor credential.getAccessToken() aufrufen. Es wird nirgends in der Dokumentation erwähnt, aber das ist es.

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

Vielen Dank @TheBeatlemaniac Sie wirklich wundern, warum dies nicht in der Dokumentation – jlezard

+1

Vielen Dank geschrieben wird. Es ist sehr merkwürdig, dass es nicht in Dokumenten ist, aber deshalb haben wir es. :) – Nemanja

+0

Ja! Mann, du hast meinen Tag gerettet :) o/ Danke @kalina! – Tuelho