14

나는 구글이 안드로이드 Play 개발자 API를 사용하는 액세스 토큰을 얻기 위해 노력하고, 나는 지금까지 the Google API Java Client documentation example을 사용하여이있어 :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(); 

을하지만 어떻게 내가이 자격 증명에서 액세스 토큰을받을 수 있나요? credential.getAccessToken()null을 반환합니다. 내가 뭔가 잘못하고있는 중이거나 몇 가지 단계가 빠져 있습니까?

+0

또한 http://stackoverflow.com/a/24264696/165708 모든 사항을 확인하기 위해 수행해야 할 단계를 확인하십시오. –

답변

39

알 수 있습니다. credential.getAccessToken() 전에 credential.refreshToken()을 호출해야합니다. 그것은 문서 어디서나 이것을 말하지는 않지만 그것이 무엇을하는지입니다.

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

고맙습니다. @TheBeatlemaniac 당신은 왜 이것이 문서에 쓰여 있지 않은지 정말로 궁금합니다. – jlezard

+1

고맙습니다. 문서에없는 것은 매우 이상한 일입니다. 그렇기 때문에 그렇게하는 것입니다. :) – Nemanja

+0

그래! 이봐, 너는 내 하루를 구했다 :) o/ @kalina! – Tuelho

관련 문제