2012-09-24 36 views
14

मैं उपयोग करने के लिए Google Play Android डेवलपर एपीआई पहुंच टोकन प्राप्त करने की कोशिश कर रहा हूँ, और मैं यह मिल गया अब तक 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

हाँ! मैन, आपने मेरा दिन बचाया :) ओ/ धन्यवाद @ कलिना! – Tuelho