2012-09-24 24 views
14

Próbuję uzyskać token dostępu do korzystania z Google Play Android Developer API i mam tak daleko za pomocą the Google API Java Client documentation example:Jak uzyskać token dostępu z 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(); 

Ale jak mogę token dostępu z tym poświadczeń? credential.getAccessToken() zwraca null. Czy robię coś złego, lub brakuje kilku kroków?

+0

Sprawdź również http://stackoverflow.com/a/24264696/165708 kilka dodatkowych kroków, które możesz wykonać, aby wszystko działało. –

Odpowiedz

39

Rozumiem. Musisz wywołać credential.refreshToken() przed credential.getAccessToken(). Nie mówi tego nigdzie w dokumentacji, ale właśnie to robi.

+3

Wielkie dzięki @TheBeatlemaniac naprawdę zastanawiasz się, dlaczego nie jest to napisane w dokumentacji – jlezard

+1

Dziękuję. To bardzo dziwne, że nie jest w dokumentach, ale właśnie dlatego tak jest. :) – Nemanja

+0

Tak! Człowieku, uratowałeś mój dzień :) o/ Dzięki @kalina! – Tuelho

Powiązane problemy