इस ऐप में कोई Android कुंजी हैश कॉन्फ़िगर नहीं है। - फेसबुक एसडीके के साथ लॉगिन करें


81

मुझे अपने आवेदन में facebook acount के साथ लॉगिन करने में समस्या है। मैं फेसबुक डॉक्टर को पढ़ता हूं। और मैंने फेसबुक डॉक के रूप में सभी कदम उठाए।

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

अपवाद: इस ऐप में कोई एंड्रॉइड की हैश कॉन्फ़िगर नहीं है। http: Developers.facebook.com/apps/ "APP ID" पर अपनी ऐप कुंजी को कॉन्फ़िगर करें

अंतिम रूप से; मैं HashKey Genarate के लिए कोड का हिस्सा था

 try {
        PackageInfo info =     getPackageManager().getPackageInfo("MY PACKAGE NAME",     PackageManager.GET_SIGNATURES);
        for (android.content.pm.Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
            Log.e("MY KEY HASH:", sign);
          //  Toast.makeText(getApplicationContext(),sign,     Toast.LENGTH_LONG).show();
        }
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

मैंने अपना मसला हल कर लिया। मुझे फेसबुक पर सेटिंग करनी चाहिए थी। कदम :

  1. फेसबुक डेवलपर के पेज पर जाएं : https://developers.facebook.com/
  2. एप्लिकेशन टैब खोलें और सेटिंग पर क्लिक करें

  3. HashKey के क्षेत्र में उत्पन्न हैशकी पेस्ट करें = यदि आपके पास यह अभी तक नहीं है, तो अपना प्रमुख हैश कोड प्राप्त करें

  4. और सिंगल साइन ऑन से "यस" होगा: सिंगल साइन ऑन: इस सेटिंग को सक्षम करें।

मैं अपना संकल्प साझा करना चाहता था। शायद किसी को इस समाधान की आवश्यकता है। शुभ लाभ !


1
धन्यवाद - आपने मेरी सहायता की और मैंने एक ही समस्या का अनुभव किया +1
साइमन

फेसबुक अब बहुत अच्छी क्विक स्टार्ट एक्सप्लेनेशन देता है कि कैसे हैश जनरेट करना है, इसके बाद आप सेटिंग बटन पर क्लिक करें और एक नया प्लेटफॉर्म जोड़ें: For Mac: keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64For Windows:keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
FilipR

आपने इस मुद्दे को कैसे हल किया?
औररी

2
आपको अपने समाधान को उत्तर के रूप में पोस्ट करना चाहिए, और इसे उत्तर के रूप में चिह्नित करना चाहिए। यह इस सवाल को अनुत्तरित दिखाना बंद कर देगा।
सूफियान

जवाबों:


15

आपको अपनी हैश कुंजी उत्पन्न करने की आवश्यकता नहीं है। जब आप अपने ऐप से facebook को एक्सेस करने का प्रयास करेंगे, तो आपको एक त्रुटि संदेश मिलेगा जिसमें कहा गया है कि "[हैश की]" पंजीकृत या कॉन्फ़िगर नहीं है। बस उस कुंजी को कॉपी करें और developer.facebook.com पर जाएं जहां आपने फेसबुक सत्यापन के लिए अपना ऐप पंजीकृत किया है और कुंजी हैश के तहत शामिल हैं।

याद रखें: हर डिवाइस के लिए, हैश कुंजी अलग हो सकती है। आपको इसे नए सिरे से शामिल करने की आवश्यकता है।

डिफ़ॉल्ट रूप से इस कुंजी को करना चाहिए: 2jmj7l5rSw0yVb/vlWAYkK/YBwk=

इसके अलावा, सब कुछ करने से पहले, आपको अपने ऐप विवरण के साथ फ़ेसबुक प्रदान करना होगा, जहां आप फ़ेसबुक सुविधाओं और कारणों का उपयोग कर रहे हैं कि आप इसका उपयोग क्यों कर रहे हैं। उन्हें यह सत्यापित करने की आवश्यकता है।


आपके उत्तर के लिए धन्यवाद निलारशी। लेकिन मैंने दूसरा रास्ता निकाला।
तारिक युर्ट्लू

2
@ TarıkYurtlu यह क्या है? मैंने हैश कुंजी पंजीकृत की है, लेकिन यह काम नहीं किया। अगर मैं facebook ऐप को अनइंस्टॉल करता हूं तो यह काम करेगा। क्या मुझे रिलीज के लिए आवेदन पंजीकृत करना चाहिए या हम इसे विकास के लिए कर सकते हैं?
अमर्त्य

4
पुराना धागा, लेकिन ... प्रत्येक "हस्ताक्षरित एपीके संस्करण" के लिए अलग-अलग नहीं है और प्रत्येक डिवाइस के लिए नहीं है? निश्चित रूप से, यदि यह प्रत्येक डिवाइस के लिए था, तो कोई भी इसका उपयोग करने में सक्षम नहीं होगा। दूसरों को संकेत दें: आपके द्वारा अपलोड किए गए हस्ताक्षरित संस्करण के बीच हैश कुंजी और जिसको आप उपयोग कर रहे हैं, बस विकासशील हैं। हालाँकि आप facebook में कई हैश कीज़ जोड़ सकते हैं, इसलिए समस्या नहीं होनी चाहिए। जिस क्षण आप एक और हस्ताक्षर कुंजी का उपयोग करेंगे हैश बदल जाएगा।
रेनेवडूकी

10

अपनी रिलीज़ कुंजी का हैश जेनरेट करने के लिए, मैक या विंडोज पर निम्न कमांड चलाएं, जो आपकी रिलीज़ कुंजी को और आपके कीस्टॉर को रास्ता प्रदान करता है। OS X पर, चलाएँ:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

विंडोज पर, उपयोग करें:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64


रेफरी: https://developers.facebook.com/docs/android/getting-started/#create_hash


2

यदि आपने अपना ऐप प्रकाशित नहीं किया है और आप केवल डिबग संस्करण हैश का उपयोग करना चाहते हैं, तो आप इसे इसके लिए अपने डीबग कीस्टोर से प्राप्त कर सकते हैं:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

इस संबंधित एसओ पद पर अधिक


1

अपनी हैश की प्राप्त करने का एक आसान तरीका है।

बस अपनी मुख्य .kt फ़ाइल में, ऑन-लाइन विधि में, निम्न पंक्तियाँ डालें:

FacebookSdk.sdkInitialize(this)
println("Facebook hash key: ${FacebookSdk.getApplicationSignature(this)}")

फिर परिणाम को फेसबुक डेवलपर्स वेबसाइट पर कॉपी करें। कभी-कभी परिणाम उत्पन्न स्ट्रिंग के अंत में समान प्रतीक (=) नहीं होता है। यदि ऐसा है, तो इसे मैन्युअल रूप से जोड़ें।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.