दिलचस्प पोस्ट
SQL सर्वर – एक सूची में सभी आइटम्स से मेल खाने वाली पंक्ति चुनें गठबंधन (आरबीआईडी) डेटा फ्रेम और मूल डेटा फ़्रेम के नाम के साथ कॉलम बनाएं सी + अनुप्रयोग विंडोज़ में सी + + विंडोज़ डीएलएल कैसे मर्ज कर सकते हैं? जावास्क्रिप्ट का उपयोग करते हुए फॉर्म फ़ील्ड कैसे भरें और सबमिट करें? जावा स्ट्रिंग.इंडएक्सऑफ़ और रिक्त स्ट्रिंग्स क्लास का नाम और कॉलिंग कन्स्ट्रक्टर का उपयोग करके एक उदाहरण बनाना चार अरब दिए गए लोगों के बीच पूर्णांक नहीं ढूंढें जावास्क्रिप्ट सरणी में स्ट्रिंग इंडेक्स लंबाई का आकार क्यों नहीं बढ़ाता है? बटन प्रेस पर UITableView सेल की पंक्ति हो रही है कार्टेशियन अंतरिक्ष और एक विश्व फ़ाइल से उत्पन्न अक्षांश और देशांतर का उपयोग करके बहुभुज क्षेत्र गणना कैसे बदलते स्थान के साथ अपडेट, एंड्रॉइड, एंड्रॉइड जैसे ड्रैगएबल मैप को लागू करने के लिए <P> और <div> के बीच अंतर क्या है? MATLAB में, मैं एक छवि को कैसे साजिश कर सकता हूं और इसे प्रदर्शित किए बिना परिणाम सहेज सकता हूं? जावा सुरक्षा अपवाद: हस्ताक्षरकर्ता जानकारी मेल नहीं खाती node.js के बाहर निकलने से पहले सफाई कार्रवाई कर रही है

Google Plus लॉगिन के एकीकरण के साथ "एक आंतरिक त्रुटि हुई"

मैं निम्नलिखित लिंक द्वारा प्रदान की गई निर्देश के अनुसार अपने आवेदन में एक Google plus लॉगिन को एकीकृत करने का प्रयास कर रहा हूं: https://developers.google.com/+/quickstart/android#install-sdk

मैं पूरी तरह से सभी निर्देशों का पालन कर रहा हूं I और जब मैं नमूना एप्लिकेशन को एंड्रॉइड-एसडीके में उपलब्ध कराए गए किसी वास्तविक उपकरण पर चलाता हूं और signin बटन पर क्लिक करता हूं, तो यह एक टोस्ट संदेश दिखाता है कि An internal error occurred

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

वेब के समाधान से एकत्रित समाधान "Google Plus लॉगिन के एकीकरण के साथ "एक आंतरिक त्रुटि हुई""

ऐसा तब हो सकता है जब आपने अपने API कंसोल प्रोजेक्ट में क्लाइंट आईडी के लिए हस्ताक्षर सेट नहीं किया है, या यदि आपने keytool से गलत कुंजी मान की प्रतिलिपि बनाई है ऐसा करने से चरण 7, 8, 9, और 10 पर त्वरित शुरुआत मार्गदर्शिका के चरणों में दस्तावेज किया गया है

मुझे यह समस्या है और यहां तक ​​कि विभिन्न SHA और पैकेज नाम के साथ 10 विभिन्न क्लाइंट आईडी बनाने के बाद, यह काम नहीं करता … जब तक मुझे पता न चला कि आपको Consent screen भरनी है

GoogleDevelopers कंसोल के अनुसार –

जब भी आप अपने क्लाइंट आईडी का उपयोग करते हुए अपने निजी डेटा तक पहुंच का अनुरोध करेंगे, सहमति स्क्रीन उपयोगकर्ताओं को दिखाई जाएगी।

सहमति स्क्रीन

मैंने .setScopes("PLUS_LOGIN") को निकालकर समस्या का समाधान किया है।

मुझे मेरे एंड्रॉइड एप्लिकेशन में यह टोस्ट संदेश त्रुटि मिली:

 An internal error occurred 

सारांश:

यह मानते हुए कि आपने एंड्रॉइड ऐप और एंड्रॉइड एपीआई सर्वर के बीच वार्तालाप को कॉन्फ़िगर करने में गलती की है, जिससे आपको एक्सेस मिल सके। आपके द्वारा संभवतः सही पैकेज नाम जोड़ने या SHA1 फिंगरप्रिंट को ठीक करने के कारण होने की संभावना मैंने गलत कदम उठाने के लिए इन चरणों का पालन किया है और यह सही है।

तय करने के लिए कदम:

  1. अपने Google API कंसोल और लॉगिन पर जाएं : https://code.google.com/apis/console

  2. "एपीआई एक्सेस" टैब पर क्लिक करें

  3. बटन पर क्लिक करें: "अन्य क्लाइंट आईडी बनाएं"

  4. चुनें: "इंस्टॉल किए गए एप्लिकेशन" रेडियो बटन

  5. चुनें: "एंड्रॉइड" रेडियो बटन

  6. एंड्रॉइड ऐप का पैकेज नाम दर्ज करें जो उपरोक्त त्रुटि प्रदर्शित कर रहा है। आप इसे PlusSampleActivity.java कोड फ़ाइल के शीर्ष पर परिभाषित कर सकते हैं। मेरे लिए यह com.google.android.gms.samples.plus है

  7. अपने SHA1 फ़िंगरप्रिंट मान को प्राप्त करें:

    ए। कमांड keytool -list -v -keystore /home/el/.android/debug.keystore उपयोग करें। पासवर्ड दर्ज करें, यदि आप इसे कभी भी सेट नहीं करते हैं, तो डिफ़ॉल्ट पासवर्ड 'android' है

    ख। SHA1 फ़िंगरप्रिंट स्क्रीन पर दिखाया गया है, उस प्रतिलिपि बनाएँ

  8. उपरोक्त मान को "हस्ताक्षर प्रमाणपत्र फिंगरप्रिंट (SHA1):" बॉक्स में पेस्ट करें

  9. बटन पर क्लिक करें: "क्लाइंट आईडी बनाएं"

  10. अपना एंड्रॉइड एप्लिकेशन फिर से चलाएं, "साइन इन करें" क्लिक करें

अब आपको "Google के साथ Google+ एसडीके में साइन इन करें" के लिए एक गतिविधि के साथ प्रस्तुत किया जाता है

मेरे मामले में, समाधान वास्तव में सहमति पत्र में एक ईमेल पता सेट करना था सबसे पहले, मैं अपना व्यक्तिगत पता चुनने के लिए थोड़ा सा अनिच्छुक था और एक अजीब कारण के लिए आप इस त्रुटि के बिना डेटा के इस टुकड़े के बिना फॉर्म को बचा सकते हैं। जाँच करने के बाद कि दूसरों ने क्या सुझाव दिया है, जैसे ही मैंने अपना ईमेल पता उस रूप में सेट किया, यह काम करना शुरू कर दिया।

मैं खोज कर रहा था कि एक दिन के लिए यह बिना किसी नसीब के अनुसंधान के साथ कैसे तय करे, आखिरकार मैंने इस मुद्दे को निम्नलिखित दृष्टिकोण से सुलझाया।

इससे पहले कि मैं इसे हल करना शुरू कर देता हूं (कम से कम कैसे मेरे लिए काम करता है) मुझे कहना होगा कि प्रलेखन पर सब कुछ सही है और आपको कोड की किसी भी पंक्ति को बदलना नहीं पड़ता है। यह https://cloud.google.com/console बादल कंसोल में अधिक बग की तरह दिखता है

पहले सुनिश्चित करें कि आपको सही SHA1 और आपके प्रोजेक्ट के पैकेज नाम के अनुसार डॉक्स https://developers.google.com/+/quickstart/android

अब इस बग के रूप में मैंने देखा (कम से कम मेरे लिए) यह था कि मेरे बादल सांत्वना में, मैंने जो प्रोजेक्ट बनाया है वह बहुत पहले पुराने इंटरफ़ेस के साथ था और कुछ महीने पहले मैं नई जीयूआई में आ गया था। एक बार जब आप क्लाउड पर नया रूप पाएं कंसोल आपको पता चल जाएगा कि नई परियोजनाओं में ऑटो-जेनरेटेड प्रोजेक्ट आईडी है जैसे कि एटेलैनटेन-एआरएस -331 जबकि पुराने प्रोजेक्ट्स को परियोजना आईडी के रूप में लंबे समय तक पूर्णांक मान मिला जो कि दिखाई नहीं दे रहा है । इसलिए यदि आपका प्रोजेक्ट पुराने जीयूआई के साथ बनाया गया था और आपने उस प्रोजेक्ट के लिए ओएथ के लिए नया क्लाइंट आईडी बनाया है तो आप Google के साथ साइन इन करने का प्रयास करते हुए टोस्ट "एक आंतरिक त्रुटि हुई" प्राप्त करेंगे

कैसे ठीक करना है

  1. अपने बादल कंसोल पर जाएं
  2. एक नई परियोजना बनाएं मैं पुराने प्रोवाइडनाम- जीप्लस जैसे एक नाम का सुझाव दूंगा
  3. API अनुभाग में Google+ API सक्षम करें
  4. सुनिश्चित करें कि आपके किसी भी प्रोजेक्ट के पास ओअथ क्लाइंट आईडी पर एक ही पैकेज का नाम नहीं है जिसे आप उपयोग करेंगे, अन्यथा आपको त्रुटि मिलेगी This client ID is globally unique and is already in use । (आपको पुराने ओअथ क्लाइंट आईडी को हटाना होगा उसी पैकेज नाम के साथ आप अब उपयोग करेंगे)।

  5. क्रेडेंशियल पर जाएं OAuth के लिए नया क्लाइंट आईडी बनाएं

इंस्टॉल किए गए एप्लिकेशन

एंड्रॉयड

अपने प्रोजेक्ट का पैकेज नाम और आपका SHA1 दर्ज करें

किया हुआ

समस्या का मेरा समाधान निम्नलिखित था।

मैंने जो कुछ दूसरों की सिफारिश की थी, और पैकेज नाम और SHA1 कुंजी के बारे में कोई टाइपो नहीं था मैंने चाबी को हटाने की कोशिश की और फिर इसे फिर से जोड़ने की कोशिश की लेकिन यह मदद नहीं करता

क्या मदद कुंजी को निकाल रहा है और एक नई परियोजना ( https://code.google.com/apis/console पर ) बनाने और फिर क्लाइंट आईडी (पैकेज + sha1 के साथ) फिर से बना रही है उसके बाद (5 सेकंड) सब कुछ मेरे एंड्रॉइड डिवाइस पर काम किया।

यह समस्या एपीआई कंसोल से अनुमतियों से संबंधित है

अगर आप SCOPE_PLUS_LOGIN से संबंधित अनुमति का उपयोग कर रहे हैं, तो एपीआई कंसोल में आपको दो कुंजी, ओअथ क्लाइंट आईडी के लिए एक और सार्वजनिक एपीआई कुंजी के लिए अन्य बनाना होगा।

मेरे मामले में समस्या यह थी कि मैंने ऐप के पैकेज नाम को बदल दिया और देव कंसोल में अपडेट नहीं किया।

मेरे लिए यह था कि मैं अपनी डिबग कुंजी का उपयोग करके इसे मेरी उत्पादन कुंजी का उपयोग करने का प्रयास कर रहा था। सुनिश्चित करें कि आपका सही SHA1 का उपयोग सही कुंजीस्टोर से करें

मैंने Google IO 2013 के लिए बदल दिया, और प्लसक्लाइंट का प्रारंभिकरण बदल दिया, फिर यह काम करता है

 public static final String AUTH_SCOPES[] = { Scopes.PLUS_LOGIN, "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/developerssite" }; mPlusClient = new PlusClient.Builder(this, this, this) .setScopes(AUTH_SCOPES) .build(); 

समाधान के लिए थानो धन्यवाद "अब यह बग जैसा मैंने देखा है (कम से कम मेरे लिए) यह है कि मेरे बादल सांत्वना में, मैंने जो प्रोजेक्ट बनाया है वह बहुत पहले पुराने इंटरफ़ेस के साथ था और कुछ महीने पहले मैंने नए जीयूआई में माइग्रेट किया था। एक बार जब आप क्लाउड कॉन्सोल पर नया रूप प्राप्त करें, आप देखेंगे कि नई परियोजनाओं में एक ऑटो जेनरेटेड प्रोजेक्ट आईडी है जैसे कि एटेलैनटेन-एआरएस -331 जबकि पुराने प्रोजेक्ट्स को प्रोजेक्ट आईडी के रूप में लंबे समय तक पूर्णांक मान मिला, जो दिखाई नहीं दे रहा है। पुराने जीयूआई और आपने Google के साथ साइन इन करने का प्रयास करते हुए उस प्रोजेक्ट के लिए ओएथ के लिए नया क्लाइंट आईडी बनाया है, तो आप टोस्ट "एक आंतरिक त्रुटि हुई" प्राप्त करेंगे। "

Google Console में प्रोजेक्ट को पुनः बनाने के कई अन्य प्रयासों के बाद मेरे लिए काम किया:

किसी भी कारण से मेरे प्रोजेक्ट में एक प्रोजेक्ट आईडी (पुराने कंसोल / नया कंसोल?) नहीं था।

जैसा कि थानो (उपर्युक्त) का सुझाव दिया गया है, मैंने एक ब्रांड की नई परियोजना बनाई, क्लाइंट आईडी बनाई, … और फिर काम किया। सलाह के लिए धन्यवाद!!

परीक्षण के लिए अंतर्निहित डिबग कीस्टोर का उपयोग करना याद रखें मेरे पास सब कुछ सही ढंग से काम कर रहा था, लेकिन मैंने डेवलपर्स कंसोल में प्रमाणन में अपने उत्पादन कीस्टॉस्ट SHA1 फिंगरप्रिंट सेट कर दिया था, जिसके कारण यह काम नहीं कर रहा था।

यदि आप इस त्रुटि का सामना करते हैं, तो जब आप नमूना एप्लिकेशन को चलाने की कोशिश करते हैं "या" उस प्रोजेक्ट को प्रतिलिपि करें जिसे आपने अन्य मशीन में बनाया है जो सफलतापूर्वक उसमें चल रहा था और ऐसी मशीन को पॉप-अप त्रुटि दे रही है जहां आप चलाने की कोशिश कर रहे हैं, आप नीचे विधि का पालन कर सकते हैं और इससे मदद मिलेगी।

यदि आप परीक्षण / डीबग प्रयोजन के लिए ऐप का निर्माण कर रहे हैं,

1. यदि आप अपनी परियोजना की प्रतिलिपि बनाते हैं और इसे दूसरी मशीन पर पैकेज के नाम और पथ के लिए प्रदान किए गए मार्ग के लिए नए SHA1 को उत्पन्न करते हैं।

2. नए जनरेट किए गए SHA1 के लिए डेवलपर्स कंसोल में क्लाइंट आईडी को बदलें और उसे नई मशीन में चलाएं जहां आपने परियोजना की प्रतिलिपि बनाई है और इसे चलाने का प्रयास किया है।

कुछ अक्सर अनदेखी की पैकेज नाम है। मैं ऊपर एरिक लेस्किन्स्की द्वारा चरण 6 को स्पष्ट करना चाहता हूं (वहां टिप्पणी नहीं कर सकता): आवश्यक पैकेज एक गतिविधि का पैकेज नहीं है, बल्कि आपके ऐप के मैनिफेस्ट का पैकेज है

आप AndroidManifest.xml के मूल तत्व से सही मान प्राप्त कर सकते हैं:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ntk.darkmoor" android:versionCode="1" android:versionName="1.0" > 

क्लाइंट आईडी बनाने के दौरान इस उदाहरण में "com.ntk.darkmoor" को परिभाषित करें

डीबगिंग के लिए डीबग के लिए SHA1 का उपयोग करते समय मेरे पास एक ही समस्या थी। तब मैंने अपने आवेदन को निर्यात करने के लिए SHA1 को कुंजीस्टोर बनाने के लिए निर्यात किया था, जिसका उपयोग मैं अपना आवेदन निर्यात करने के लिए किया था।

यह मेरे लिए काम करता है जब मैं डिवाइस को कनेक्ट करता हूं और एंड्रॉइड स्टूडियो से एपीके स्थापित करता हूं। लेकिन यह अब मेरे लिए काम कर रहा है जब मैं .apk उत्पन्न करता हूं और ड्रॉपबॉक्स से इसे स्थापित करता हूं।

मैं यहां दिए गए सभी उत्तरों और अन्य लोगों के माध्यम से चला गया। मेरे मामले में यह मुद्दा एसएचए-1 भी था। मैं गलत SHA-1 प्राप्त कर रहा था कारण मेरा keytool export cert कमांड था

पहले मैं उपयोग कर रहा था

 C:\Users\mysuername\.android SHA 1 signature keytool -exportcert -alias androiddebugkey -keystore "keystorepath" -list -v 

समस्या androiddebugkey चर में थी यहां आपको आवेदन को हस्ताक्षर करने के लिए उपयोग की जाने वाली चाबी का नाम देना होगा।

 C:\Users\mysuername\.android SHA 1 signature keytool -exportcert -alias mykeyname -keystore "keystorepath" -list -v 

उम्मीद है कि यह किसी को मदद करता है!

कारणों की इस लंबी सूची में जोड़ने के लिए मेरी समस्या यह थी कि ऐप्प के बजाय मुझे जेब फाइल से डीबगकी मिली।

इसका हमेशा कुछ छोटा होता है