10

के साथ एक्सेस टोकन प्राप्त करते समय GoogleAuthException अधिक संदर्भ के लिए, यह पोस्ट this one का पालन करता है। Verifying Back-End Calls from Android Appsक्लाइंट आईडी

मैं Google API कंसोल में दो परियोजनाओं की घोषणा की दो ग्राहक आईडी

  • पहले प्राप्त करने के लिए:

    मेरे पिछले समस्या को हल करने के लिए, मैं समाधान टिम ब्रे द्वारा यहां प्रस्तुत अनुसरण करने की कोशिश के रूप में "वेब अनुप्रयोग" "स्थानीय होस्ट" के साथ होस्ट नाम के रूप में (यह फर्क पड़ता है?)

    • ग्राहक आईडी: XXXXXXXXXX.apps.googleusercontent.com
  • पैकेज का नाम AndroidManifest.xml और SHA1 फिंगरप्रिंट में निर्दिष्ट Android ऐप्लिकेशन के रूप में दूसरा (debug.keystore साथ की कोशिश की और [मेरे] .keystore)
    • ग्राहक आईडी: YYYYYYYYYY.apps। googleusercontent.com

दुर्भाग्य से मैं एंड्रॉयड पक्ष में एक अपवाद का सामना करना पड़ रहा हूँ:

com.google.android.gms.auth.GoogleAuthException: Unknown 
at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source) 
at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source) 
at fr.barles.android.activity.LoginActivity$1.doInBackground(LoginActivity.java:66) 
at fr.barles.android.activity.LoginActivity$1.doInBackground(LoginActivity.java:1) 
at android.os.AsyncTask$2.call(AsyncTask.java:185) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 
at java.lang.Thread.run(Thread.java:1102) 

लाइन पर:

return GoogleAuthUtil.getToken(LoginActivity.this, account[0], "audience:server:client_id:XXXXXXXXXX.apps.googleusercontent.com"); 

क्या मैं गलत कर रहा हूँ?

अग्रिम

+1

तो आपने वास्तव में त्रुटि को ठीक करने के लिए क्या किया? आपने "ऑडियंस: सर्वर: क्लाइंट_आईडी: ..." भाग में क्या पेस्ट किया? मुझे एक समान त्रुटि मिल रही है। –

उत्तर

4

दो ग्राहक आईडी धन्यवाद एक ही परियोजना का हिस्सा होना चाहिए।

+0

मुझे बहुत गूंगा लग रहा है। मैंने सोचा कि यह Google खाता था जो उन्हें बंधे थे। वैसे भी, धन्यवाद! – Barles

+0

अरे वहाँ! मुझे इसी तरह की समस्याएं आ रही हैं।क्या आप मुझे बता सकते हैं कि इसे हल करने के लिए आपने वास्तव में क्या किया? – Hick

+1

सुनिश्चित नहीं है कि आपके पास एक ही स्थिति है या नहीं। मुझे यह त्रुटि मिली क्योंकि मैंने बाजार पर प्रचार के लिए कीस्टोर से SHA1 हस्ताक्षर के लिए क्लाइंट आईडी जोड़ा, लेकिन जब आप ग्रहण से अपने ऐप को डिबग करते हैं तो यह _DEBUB KEYSTORE_ के साथ साइन इन करता है, इसलिए आपके ऐप में अलग-अलग हस्ताक्षर होंगे। तो आपको debug.keystore से SHA फिंगरप्रिंट के साथ एक और क्लाइंट आईडी जोड़ने की आवश्यकता है विवरण के लिए यह एवर देखें: http://stackoverflow.com/questions/15263228/cloud-endpoints- प्रमाणीकरण- विफलता-in-android-app – Dimanoid

2

मुझे यह त्रुटि मिली जब मैंने अपना पैकेज नाम बदल दिया और Google API कंसोल में डीबग SHA1 के साथ एक नई क्लाइंट आईडी उत्पन्न करना भूल गया।

14

कई घंटों के बाद, मैंने पाया कि आपके स्कोप स्ट्रिंग ("audience:server:client_id:...") में आपको वेब एप्लिकेशन की क्लाइंट आईडी का उपयोग करना होगा, न कि एंड्रॉइड एक।

एंड्रॉइड ऐप की क्लाइंट आईडी अप्रयुक्त है। यह केवल आपके एंड्रॉइड ऐप के पैकेज नाम को अपने वेब ऐप से जोड़ने के लिए है।

+3

कई के बाद खोज के घंटे, मुझे आपकी पोस्ट मिली! – Pongpat

3

और करने की कोई आवश्यकता नहीं है। कृपया Google कंसोल पर अपनी क्लाइंट आईडी को पुन: बनाएं और स्कोप स्ट्रिंग के रूप में इस कोड को अपने कोड में लिखें।

String SCOPE = "oauth2:https://www.googleapis.com/auth/userinfo.profile"; 

https://github.com/AshishPsaini/GoogleAuth

0

बदलें गुंजाइश Plus.SCOPE_PLUS_LOGIN को GoogleApiCliente में जोड़ा। यह मेरे लिए काम करता है।

googleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(Plus.API) 
      .addScope(Plus.SCOPE_PLUS_LOGIN) 
      .build(); 
संबंधित मुद्दे