Facebook Android SDK Invalid_key [doppelt]

7

Ich verwende hier eine Beispiel-App für ibm.com/developerworks/library/x-androidfacebookapi/ um facebook android SDK zu testen, Ich habe meine APP-ID in dieser Beispielanwendung angegeben. Ich habe alle Setups und Voraussetzungen gemacht. Ich habe eine App mit meinem Keystore und einem erzeugten Hash-Schlüssel signiert Ich habe einen Hash-Schlüssel für die Facebook-App-Einstellungsseite eingereicht. Ich habe Facebook App auf meinem Gerät installiert. Aber nachdem die ganze App funktioniert, gibt Facebook den Fehler invalid_key. Bitte helfen Sie mir in dieser Hinsicht, Danke.

    
om252345 20.12.2010, 12:54
quelle

12 Antworten

10

Ein ungültiger Schlüssel kann mehrere Gründe haben -

  1. Stellen Sie sicher, dass Keytool und OpenSSL installiert sind.
  2. Stellen Sie sicher, dass Sie in dem Befehl die richtige Keystore-Datei angeben.
  3. Stellen Sie sicher, dass Sie den richtigen Alias ​​geben.
  4. Stellen Sie sicher, dass Sie den generierten Hash-Schlüssel korrekt in die Facebook-Anwendung kopiert haben.

Als ich anfänglich einen ungültigen Schlüssel bekam, lag das daran, dass ich den falschen Alias ​​gab. Das Seltsame ist, dass Keytool und OpenSSl nicht erwähnen, dass der Alias ​​falsch ist. Wenn Sie den Befehl zum Generieren des Hash-Schlüssels geben und Sie nicht nach Ihrem Passwort fragen, tun Sie wahrscheinlich falsch.

    
Abhinav Manchanda 21.12.2010, 05:10
quelle
9

Nach ein paar Tagen, in denen ich mit den gleichen Problemen zu kämpfen hatte, schrieb ich eine vollständige Erklärung des Problems und der verschiedenen Korrekturen hier auf:

Ссылка

    
Sean Lynch 01.07.2011 09:16
quelle
3

Einige Dinge, denen ich begegnet bin, bevor ich das funktionierte:

1) Erzeuge deinen Hash in Linux. Windows (zumindest für mich, 64-Bit) hat den richtigen Hash nicht erzeugt. Laden Sie die Cygwin Bash Shell herunter und machen Sie es von dort.

2) Im Dateipfad für den Schlüsselspeicher sollte alles ein Schrägstrich sein. Sogar vor C :. So zum Beispiel C: /Users/IhrName/.android/debug.keystore, NICHT C: \ Benutzer / IhrName / .android / debug.keystore.

3) Der equals am Ende des Hash sollte enthalten sein. Vielleicht war das für einige Leute offensichtlich, aber trotzdem dachte ich, ich sollte es erwähnen.

Es sollte Sie nach einem Passwort fragen. Wenn dies nicht der Fall ist, haben Sie etwas falsch gemacht.

    
Seth Nelson 28.01.2011 18:27
quelle
2

Ich hatte auch dieses Problem, ich habe es nicht wirklich gelöst, bis ich das gefunden habe

Ссылка .

Jedes Hilfethema besagt, dass der Schlüssel-Hash nicht korrekt ausgefüllt wurde. Nach mehrmaligem Überprüfen und mehrfachem Verwenden des Keytools wusste ich, dass ich es korrekt ausgefüllt habe. Der obige Link führt zu einem Toppic auf Get Satisfaction zu diesem Thema, und die Lösung, die dort angeboten wird, funktionierte für mich. Kopieren Sie einfach den Schlüssel, den Sie im Popup sehen, in die Hash-Box auf Ihrer Facebook-Entwickler-Seite. Es kann neben dem Hash hinzugefügt werden, den Sie von keytool erhalten.

Einige Dinge, die ich bei der Lösung dieses Problems herausgefunden habe. - Ich habe immer den vollständigen Pfad im keytool-Befehl verwendet - Wenn Sie den keytool-Befehl eingeben, vergewissern Sie sich, dass Sie nach einem Passwort gefragt haben - Um herauszufinden, ob Sie Ihr Passwort im de keytool-Befehl korrekt eingegeben haben, geben Sie es zuerst mit etwas ein, von dem Sie wissen, dass es nicht ist. Ihr Passwort bewirkt, dass es auch einen Hash generiert. Wenn das Passwort falsch ist, gibt es immer den gleichen Hash. Um zu überprüfen, ob Sie Ihr Passwort richtig eingegeben haben, vergleichen Sie es mit einem Hash eines falschen Passworts. - Dieser Fehler tritt nur auf, wenn die Facebook App auch am Telefon ist, was meiner Meinung nach bedeutet, dass der Fehler nicht in der Authentifizierung selbst liegt, dies hat mich stundenlang nach Fehlern in meinem Code gesucht, während es keine gab (zumindest nicht in der Authentifizierungsteil: p) - Ich hatte das Glück, mehrere Testgeräte zu haben, die zeigten, dass es sich nicht um einen Fehler im Code handelte, sondern um einen Fehler in der sdk oder in einem anderen Teil der Authentifizierungsphase.

Ich hoffe, dass diese Informationen jemandem helfen werden, der auf dieses Problem stößt und ihn einige Zeit bei der Lösung rettet.

liebe Grüße Tom

    
Tom Groentjes 23.07.2012 22:28
quelle
1

Ich habe den ganzen Tag Probleme damit gehabt, ich habe cmd prompt verwendet, um den Schlüssel zu generieren, und es hat funktioniert, nachdem ich den Pfad von openssl und keytool in den Windows Systemeinstellungen definiert habe.

Ich habe die Facebook-Anwendung in Eclipse eingerichtet und es funktionierte gut auf dem AVD, aber das gleiche Programm verursacht den Facebook-Fehler ungültigen Schlüssel bei der Installation auf meinem Nexus s.

Ich bin zu dem Schluss gekommen, dass das Gerät seine eigenen Schlüssel hat und diese nicht im Schlüsselspeicher verwenden kann.

    
Dave P 24.11.2011 16:28
quelle
0

Es ist nicht logisch bu "The Same" keytool Befehl gibt unterschiedliche Ergebnisse in Windows und Linux. Der Hash-Schlüssel von Linux funktioniert, von Windows schlägt fehl. Sie können das versuchen!

Die openssl in Windows von hier installiert: Ссылка

    
javanes 10.01.2011 23:59
quelle
0

Ich hatte das gleiche Problem und schließlich fand ich die Lösung: Verwenden Sie Cygwin für Windows-Benutzer. Das Ergebnis von Windows unterscheidet sich von Linux / iOS. Also installiere Cygwin, es ist sehr einfach und du wirst auch Cygwin brauchen, wenn du mit NDK arbeiten willst. Führen Sie den oben aufgeführten Befehl aus, kopieren Sie die Ausgabe und es wird funktionieren.

    
Sebastian 21.01.2011 06:26
quelle
0

Eigentlich ist das das Problem in Facebook sdk, wenn Sie die com.facebook.katana deinstallieren, dann wird Ihre Anwendung völlig in Ordnung sein. Ich habe keine dauerhafte Lösung für dieses Problem, aber es wird vorübergehend funktionieren

    
Hasandroid 03.02.2011 12:40
quelle
0

Heute können Sie mit Windows EVEN keinen richtigen Schlüssel mit Cygwin erhalten. Sie müssen es unter MacOS oder Linux tun. Dies ist ein Problem. Hoffentlich bekommen sie es sehr bald behoben.

    
MrBuBBLs 04.02.2011 09:16
quelle
0

Ich hatte das gleiche Problem, und ich denke, viele andere laufen auf dasselbe hinaus wie ich. Der Schlüsselspeicher unter Windows befindet sich standardmäßig im Benutzerverzeichnis, z. C: \ Benutzer \ Benutzername.android \

Es ist fehlgeschlagen für mich, weil ich den vollständigen Pfad eingegeben habe und ein Leerzeichen ("") im Ordner hatte, der nach dem Benutzer benannt ist. Wenn Sie den Pfad in Anführungszeichen setzen, wird es wahrscheinlich funktionieren, und Sie sollten nach dem Keystore-Kennwort gefragt werden.

z.B. keytool -exportcert -alias androiddebugkey -keystore "C: \ Benutzer \ Benutzername.android" | openssl sha1 -binär | openssl base64

    
Michael DeBerry 12.02.2011 18:01
quelle
0

Ich verwende Windows 7 und behebe das Problem mit:

%Vor%

Sie können OpenSSL für Windows

herunterladen     
Cristian Pereira 31.08.2011 02:34
quelle
0

Ich behebe den Fehler damit:

Wenn Sie diesen Code zur Autorisierungszeile hinzufügen

%Vor%     
Matias Almiron 23.09.2011 13:17
quelle

Tags und Links