2013-02-22 46 views
15

मुझे GoogleAuthUtil.getToken करते समय GoogleAuthException: Unknown error मिल रहा है।Google एपीआई और एंड्रॉइड ओथ INVALID_AUDIENCE त्रुटि

बस अपवाद इससे पहले कि मैं

GLSUser: GLS error: INVALID_AUDIENCE <email> audience:server:client_id:xxx.apps.googleusercontent.com 

मैं अपने रिलीज कुंजी, पैकेज का नाम से SHA1 निर्धारित किया है देखते हैं, Google API प्रोजेक्ट के लिए। (जिस तरह से जीसीएम के लिए सफलतापूर्वक उपयोग किया जा रहा है।)

उत्तर

16

ऐसा लगता है कि काम करना चाहिए; यहां मेरे ऐप से स्कोप-इनिट कोड है जो काम करता है।

private static final String SCOPE = "audience:server:client_id:" + SERVER_CLIENT_ID; 

तो यह मुझे गंध करता है जैसे क्लाइंट आईडी में कोई समस्या है। याद रखें कि SHA & पैकेज & साथ, अपने android ऐप्लिकेशन में से एक है

  1. आप दो ग्राहक आईडी
  2. एक के साथ एक परियोजना के लिए है, इसलिए
  3. पर अन्य सर्वर साइड के लिए है कि आप 'बंद

को ऐसा लगता है कि के बाद चला जाता है # 3 से ग्राहक आईडी है टोकन भेजने के लिए ... जा रहा रहे हैं: client_id:

+0

धन्यवाद कि यह था। – Alok

+3

@ आलोक .... मैंने एक ही मुद्दे में भाग लिया है। मैं एंडपॉइंट्स एपीआई में एंड्रॉइड ऑडियंस स्कोप में दर्शकों में वेब क्लाइंट_आईडी का उपयोग कर रहा हूं। अभी भी वही ऑथ त्रुटि देखें।आपने वेब क्लाइंट_आईडी कैसे उत्पन्न किया? मैं Google एपीआई कंसोल में गया, वेब अनुप्रयोगों के लिए एक क्लाइंट आईडी उत्पन्न किया जिसमें रीडायरेक्ट यूरी और जावास्क्रिप्ट मूल रिक्त था। क्या वो सही है? – plspl

+0

इसका एक और आम कारण डीबग प्रमाणपत्र हैश और रिलीज (या इसके विपरीत) के साथ परीक्षण कर रहा है। –

0

मेरी टीम एक पर एक को क्या हुआ हालांकि यह मेरे डिवाइस पर ठीक काम करता है। यह हमारे ग्रहण प्रतिष्ठानों पर एक अलग debug.keystore की वजह से हुआ।

इसे हल करने के लिए हम ~/.android/ के लिए कंपनी के debug.keystore फ़ाइल की प्रतिलिपि कर

0

अपने debug.keystore अपने में पाया हटाकर इसे हल (इस पर एक मैक dir है, यह लिनक्स और विंडोज पर अलग अलग है)। एंड्रॉइड फ़ोल्डर, फिर एक नई डीबग.किस्टोर फ़ाइल उत्पन्न करने के लिए फिर से नई परियोजना चलाएं। फिर अंत में Google API के लिए एक नया SHA-1 हस्ताक्षर-प्रमाणपत्र उत्पन्न करें।

0

इसके अलावा आपको अपने Google API कंसोल में ओथ प्राधिकरण स्क्रीन सेट अप करना होगा।

था यही कारण है कि मैं यह त्रुटि

0

मेरी समस्या का दस्तावेजीकरण के हित में है,

मैं एक ही INVALID_AUDIENCE त्रुटि एक Google साइन-इन एक एडब्ल्यूएस मोबाइल हब के माध्यम से उत्पन्न नमूना app से वापस आने के लिए किया था। जांच करने के लिए कुछ चीजें,

टिम ब्रै नोट्स की तरह ही आपके क्लाइंट आईडी को वैध वेब क्लाइंट आईडी (एंड्रॉइड नहीं) बनाते हैं। लेकिन एक एंड्रॉइड क्लाइंट आईडी भी है जिसमें उचित SHA-1 फ़िंगरप्रिंट (debug.keystore में पाया गया है जो एंड्रॉइड स्टूडियो डीबग बिल्ड पर हस्ताक्षर करने के लिए उपयोग करता है जब आप रन क्लिक करते हैं) और पैकेज नाम।

नोट: AndroidManifest.xml में सूचीबद्ध पैकेज नाम हमेशा वास्तविक पैकेज नाम नहीं है। निश्चित पैकेज नाम खोजने के लिए, build.gradle फ़ाइल पर जाएं और एप्लिकेशन आईडी फ़ील्ड देखें। जब आप एंड्रॉइड क्लाइंट आईडी कॉन्फ़िगर करते हैं तो डेवलपर कंसोल में सही पैकेज नाम इनपुट करना सुनिश्चित करें।