Mam problem z zalogowaniem się na konto facebook w mojej aplikacji. Czytałem na Facebooku Doc. I zrobiłem wszystko jako Facebook Doc.
Najpierw zaloguj się z kontem na Facebooku w aplikacji - POWIODŁO SIĘ ! a następnie wyloguj się z aplikacji. Chcę zalogować się ponownie na moje konto na Facebooku. Ale nie działa !! I wziąłem ten Excepiton! Proszę pomóż mi !
Wyjątek: ta aplikacja nie ma skonfigurowanych skrótów kluczy Androida.Skonfiguruj skróty kluczy aplikacji na http: developers.facebook.com/apps/ „APP ID”
Wreszcie; Kiedyś byłam częścią kodu 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) {
}
Rozwiązałem problem. Powinienem był zrobić ustawienie na Facebooku. Kroki :
- Wejdź na stronę programisty na Facebooku: https://developers.facebook.com/
Otwórz karty aplikacji, a następnie kliknij opcję Ustawienie
Wklej wygenerowany hashkey w polu HashKey = Jeśli jeszcze go nie masz, pobierz część kodu z hash klucza
- A niż Single Sign On będzie „Yes”: Single Sign On: Włącz to ustawienie.
Chciałem podzielić się moim postanowieniem. Może ktoś potrzebuje tego rozwiązania. Powodzenia !
źródło
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Dla Windows:keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
Odpowiedzi:
Nie musisz generować klucza skrótu. Gdy spróbujesz uzyskać dostęp do Facebooka ze swojej aplikacji, zostanie wyświetlony komunikat o błędzie informujący, że „[Klucz skrótu]” nie jest zarejestrowany ani skonfigurowany. Po prostu skopiuj ten klucz i przejdź do developer.facebook.com, gdzie zarejestrowałeś swoją aplikację do weryfikacji na Facebooku i umieść ją pod hasłami kluczy.
Pamiętaj: dla każdego urządzenia klucz skrótu może być inny. Musisz go świeżo załączyć.
Domyślnie ten klucz powinien:
2jmj7l5rSw0yVb/vlWAYkK/YBwk=
Przede wszystkim musisz podać Facebookowi szczegóły swojej aplikacji, wraz ze zrzutami ekranu pokazującymi, gdzie korzystasz z funkcji Facebooka i powody, dla których używasz. Muszą to zweryfikować.
źródło
Aby wygenerować skrót klucza wydania, uruchom następujące polecenie na komputerze Mac lub Windows, zastępując alias klucza wydania i ścieżkę do magazynu kluczy. W systemie OS X uruchom:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
W systemie Windows użyj:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
Ref: https://developers.facebook.com/docs/android/getting-started/#create_hash
źródło
Jeśli nie opublikowałeś swojej aplikacji i chcesz po prostu użyć skrótu wersji debugowania, możesz go pobrać ze swojego magazynu kluczy debugowania za pomocą tego polecenia:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Więcej na ten powiązany post SO
źródło
Jest łatwy sposób na zdobycie klucza Hash.
Po prostu umieść w swoim głównym pliku .kt, w metodzie onCreate, następujące wiersze:
FacebookSdk.sdkInitialize(this) println("Facebook hash key: ${FacebookSdk.getApplicationSignature(this)}")
Następnie skopiuj wynik na stronę programistów Facebooka. Czasami wynik nie ma symbolu równości (=) na końcu wygenerowanego ciągu. Jeśli tak, dodaj go ręcznie.
źródło
# Get all Hash Expo expo fetch:android:hashes
źródło