2017-03-08 3 views
0

Es gibt eine Facebook-Login-Taste in meiner Android App. Ich kann mich mit diesem Button einloggen. Knopf nur einmal Ich kann mich mit Facebook anmelden. Ich konnte mich nicht einloggen, nachdem ich mich erfolgreich abgemeldet habe. Dies ist die Login-Antwort, die ich bekommen habeFacebook Login zeigt Fehler

Facebook ErrorInvalid Schlüsselhash. Der Schlüssel-Hash HG2kYV1on + 6yY1J7stl4KGrNsPA = stimmt mit keinem gespeicherten Schlüssel-Hash überein. Konfigurieren Sie Ihre App Schlüssel Hashes bei https://developers.facebook.com/apps/596405140754842/

Aber ich angemeldet nach dem Kopieren, dass die Hash-Schlüssel auf gespeicherte keyhashes in meiner Facebook-Seite devolopers. Wenn ich diese App auf einem anderen Telefon installierte, trat das gleiche Problem auf. Ich löste es, indem ich diesen ungültigen Hash-Schlüssel in gespeicherte Hash-Schlüssel auf meiner Facebook-Entwickler-Seite kopierte. Ich habe auch meine App auf Handys ohne Facebook-Anwendung installiert. In diesem Fall erscheint ein neues Popup-Fenster mit der E-Mail-Adresse und dem Facebook-Passwort. Ich kann auf diesen Telefonen

beliebig oft Anmelde- und Abmelde Aber ich brauche Facebook-Login auf Handys mit Facebook-Anwendung arbeiten, ohne

+2

Mögliches Duplikat von [Facebook Android-App-Fehler: Ungültiger Schlüssel-Hash] (http://stackoverflow.com/questions/30934225/facebook-android-app-error-invalid-key-hash) –

Antwort

1

Erstellen Sie zwei keyHashes für jedes Telefon Raute-Taste Bewältigungs

  1. One mit die Eingabeaufforderung:

    $ keytool -exportcert -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary |"C:\OpenSSL\bin\openssl" base64 
    
  2. den Code unter Verwendung von:

    private String getAppKeyHash() { 
        try { 
        PackageInfo info = getPackageManager().getPackageInfo(
          getPackageName(), PackageManager.GET_SIGNATURES); 
        for (Signature signature : info.signatures) { 
         MessageDigest md; 
    
         md = MessageDigest.getInstance("SHA"); 
         md.update(signature.toByteArray()); 
         String something = new String(Base64.encode(md.digest(), 0)); 
         return something; 
    
        } 
    } catch (Exception e) { 
        Log.e("exception", e.toString()); 
    } 
    return null; 
    

    }

fügen beide Schlüssel HASEn in Facebook Entwickler-Anwendung.

Dies wird funktionieren.

Verwandte Themen