71

Ich habe ein Problem mit dem Login mit facebook acount in meiner Anwendung. Ich lese zu Facebook Doc. Und ich habe alle Schritte als Facebook Doc gemacht.Diese App hat keine Android Key-Hashes konfiguriert. - Login mit Facebook SDK

Erste Login mit facebook acount in App - ERFOLGREICH! und dann in der Anwendung abmelden. Ich möchte mich mit meinem Facebook Account einloggen wieder. Aber funktioniert nicht !! Und ich habe diese Excepiton genommen! Bitte hilf mir !

Ausnahme: Diese App hat keinen Android Key Hashes App Schlüssel Hashes unter http configured.Configure: developers.facebook.com/apps/ "APP ID"

Finaly; Früher habe ich Teil des Codes für 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) { 
} 

ich mein Problem behoben. Ich hätte auf Facebook einstellen sollen. Schritte:

  1. Book Entwickler-Seite: https://developers.facebook.com/
  2. Öffnen Sie die App Tabs und als klicken Sie auf die Einstellung

  3. das Hashkey Feld auf HashKey des erzeugen Einfügen = Wenn Sie nicht haben, es noch, erhalten Sie Ihre Schlüssel Hash-Teil des Codes

  4. Und als Single Sign On wird "Ja": Single Sign On: Aktivieren Sie diese Einstellung.

Ich wollte meine Entschlossenheit teilen. Vielleicht braucht jemand diese Lösung. Viel Glück !

+1

Danke - Sie mich unterstützt und ich hatte das gleiche Problem +1 erfahren – Simon

+0

Facebook bietet jetzt eine sehr gute Schnellstart-Erklärung, wie Sie Hashes generieren, nachdem Sie auf die Schaltfläche Einstellungen klicken und eine neue Plattform hinzufügen: Für Mac: 'keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android/debug.keystore | openssl sha1 -binär | openssl base64' Für Windows: 'keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% \. android \ debug.keystore | openssl sha1 -binär | openssl base64' – FilipR

+0

Wie haben Sie dieses Problem gelöst? – andrei

Antwort

13

Sie müssen Ihren Hash-Schlüssel nicht generieren. Wenn Sie versuchen, über Ihre App auf facebook zuzugreifen, erhalten Sie eine Fehlermeldung, die besagt, dass "[Hash Key]" nicht registriert oder konfiguriert ist. Kopieren Sie einfach diesen Schlüssel und gehen Sie zu developer.facebook.com, wo Sie Ihre App für die Facebook-Verifizierung registriert und unter Schlüssel-Hashes aufgenommen haben.

Hinweis: Für jedes Gerät kann der Hash-Schlüssel unterschiedlich sein. Sie müssen es frisch aufnehmen.

Standardmäßig sollte dieser Schlüssel tun: 2jmj7l5rSw0yVb/vlWAYkK/YBwk =

Auch vor dem alles, was Sie brauchen Facebook zur Verfügung zu stellen mit Ihren App Details, zusammen mit Screenshots von wo Sie Facebook-Funktionen und Gründe verwenden, warum du benutzt. Sie müssen das überprüfen.

+0

Danke Nielarshi für Ihre Antwort. Aber ich habe einen anderen Weg gefunden. –

+2

@ TarıkYurtlu Was ist das? Ich habe den Hash-Schlüssel registriert, aber es hat nicht funktioniert. Wenn ich Facebook App deinstalliere, wird es funktionieren. Soll ich einen Antrag auf Freigabe anmelden oder können wir ihn für die Entwicklung nutzen? – Amt87

+3

Alter Thread, aber ... Ist nicht der Schlüssel für jede "signierte Apk-Version" anders und nicht für jedes Gerät? Sicher, wenn es für jedes Gerät wäre, wäre niemand in der Lage, es zu benutzen. Hinweis für andere: Der Hash-Schlüssel zwischen der signierten Version, die Sie hochladen, und der, die Sie gerade verwenden, unterscheidet sich. Obwohl Sie in Facebook mehrere Hash-Schlüssel hinzufügen können, sollte dies kein Problem sein. Sobald Sie einen anderen Signaturschlüssel verwenden, ändert sich der Hashwert. – renevdkooi

7

Um einen Hash Ihres Freigabeschlüssels zu generieren, führen Sie den folgenden Befehl auf Mac oder Windows aus, wobei Sie den Freigabeschlüsselalias und den Pfad zu Ihrem Keystore ersetzen.Unter OS X laufen:

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

Unter Windows verwenden:

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

Verwandte Themen