मैं बहुत कम विस्तार के साथ एक NullPointerException
प्राप्त जब मैं अपने GoogleCredential
पर setServiceAccountUser(ACCOUNT_TO_IMPERSONATE)
करने का प्रयास, एक Google कार्य सेवा वस्तु का निर्माण और बाद में के लिए एक अनुरोध भेजने का प्रयास के लिए setServiceAccountUser() है ACCOUNT_TO_IMPERSONATE
से कार्य की एक सूची।NullPointerException के बाद ही मैं GoogleCredential वस्तु (Grails/जावा)
def credential = new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_ID)
.setServiceAccountPrivateKeyFromP12File(P12_FILE)
.setServiceAccountScopes(GOOGLE_TASK_SCOPES)
.setServiceAccountUser(ACCOUNT_TO_IMPERSONATE)
.build()
credential.refreshToken()
log.debug("Google Credential Impersonating: ${credential.getServiceAccountUser()}")
def service = new com.google.api.services.tasks.Tasks.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).build()
return service
कृपया ध्यान दें कि credential.getServiceAccountUser()
उम्मीद ACCOUNT_TO_IMPERSONATE
बाहर लॉग करता है।
ने वही समस्या https://github.com/googleads/googleads-java-lib/issues/19
StackTrace :
Caused by: java.lang.NullPointerException at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
at com.google.api.client.util.Preconditions.checkNotNull(Preconditions.java:127)
at com.google.api.client.json.jackson2.JacksonFactory.createJsonParser(JacksonFactory.java:96)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:85)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81)
at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:88)
at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)
at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307)
at com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:570)
at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:247)
at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489)
at com.google.api.ads.common.lib.auth.OAuth2Helper.callRefreshToken(OAuth2Helper.java:70)
at com.google.api.ads.common.lib.auth.OfflineCredentials.generateCredential(OfflineCredentials.java:144)
...
में रिपोर्ट की गई त्रुटि में विस्तार की कमी Google कार्य के पुराने संस्करणों में एक मुद्दा होने के लिए कहा गया था नहीं था, लेकिन मैं नवीनतम संस्करण में अपग्रेड कर दिया है और कोई अंतर नहीं दिखाई ।
compile "com.google.api-client:google-api-client:1.19.0"
compile 'com.google.apis:google-api-services-tasks:v1-rev41-1.19.0'
संपादित करें: हमारी वेब आवेदन में grails कंसोल में कोड को संवारता बाद मैं देख सकता हूँ कि क्रियान्वित credential.refreshToken()
एनपीई का कारण बनता है जब ServiceAccountUser
निर्धारित है।
जब मैं ServiceAccountUser
, refreshToken()
को अनसेट करता हूं तो सफल होता है। इसके अतिरिक्त, Google कार्य की एक सूची पुनर्प्राप्त करने का प्रयास सेवा खाते के लिए सफल है जब ServiceAccountUser
सेट नहीं है।
किसी भी मदद की सराहना की जाएगी।
क्या आपने देखा इस? http://stackoverflow.com/questions/12479551/google-drive-oauth-cant-figure-out-how-to-get-re-usable-googlecredentials – user1807337