Android Facebook remote_app_id nicht mit gespeichert-id-Fehler
In meine Anwendung ein Benutzer-login via facebook, aber ich bin immer diese Fehlermeldung,
**my logcat error:**
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): Exception during service
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.orca.protocol.base.ApiResponseChecker.b(ApiResponseChecker.java:74)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.orca.protocol.base.ApiResponseChecker.a(ApiResponseChecker.java:103)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.orca.protocol.base.ApiResponse.g(ApiResponse.java:208)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:267)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.katana.server.protocol.AuthorizeAppMethod.a(AuthorizeAppMethod.java:28)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.orca.protocol.base.SingleMethodRunner.a(SingleMethodRunner.java:125)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.katana.server.handler.PlatformOperationHandler.c(PlatformOperationHandler.java:274)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.katana.server.handler.PlatformOperationHandler.a(PlatformOperationHandler.java:175)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.orca.server.OrcaServiceQueue.d(OrcaServiceQueue.java:218)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.orca.server.OrcaServiceQueue.d(OrcaServiceQueue.java:38)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at com.facebook.orca.server.OrcaServiceQueue$3.run(OrcaServiceQueue.java:169)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at android.os.Handler.handleCallback(Handler.java:587)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at android.os.Handler.dispatchMessage(Handler.java:92)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at android.os.Looper.loop(Looper.java:123)
02-14 18:00:01.821: WARN/fb4a:fb:OrcaServiceQueue(10988): at android.os.HandlerThread.run(HandlerThread.java:60)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): Failed to send
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): com.facebook.orca.ops.ServiceException: API_ERROR: API_ERROR
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at com.facebook.orca.ops.OrcaServiceOperation.c(OrcaServiceOperation.java:610)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at com.facebook.orca.ops.OrcaServiceOperation.c(OrcaServiceOperation.java:40)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at com.facebook.orca.ops.OrcaServiceOperation$2.run(OrcaServiceOperation.java:575)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at android.os.Handler.handleCallback(Handler.java:587)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at android.os.Handler.dispatchMessage(Handler.java:92)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at android.os.Looper.loop(Looper.java:123)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at android.app.ActivityThread.main(ActivityThread.java:3687)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at java.lang.reflect.Method.invokeNative(Native Method)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at java.lang.reflect.Method.invoke(Method.java:507)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
02-14 18:00:01.876: WARN/fb4a:fb:GDPDialog(10988): at dalvik.system.NativeStart.main(Native Method)
ich bin erstellen von hash-Schlüssel wie diese,
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\rama\.android\debug.keystore" | "C:\openssl-0.9.8k_X64\bin\openssl" sha1 -binary | "C:\openssl-0.9.8k_X64\bin\openssl" base64
bekam ich Schlüssel dann Hinzugefügt, um facebook-Einstellung.
geben mir eine gute Idee zu diesem,
Dank.
- der Grund für diese Ausnahme ist falsch, openssl,siehe bitte meine Antwort stackoverflow.com/a/16212920/1939564
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Haupt-Activity der Anwendung, in der onCreate(), diesen code und die app auszuführen.
Diese geben Sie den richtigen Schlüssel, Hash, die benötigt wird, durch Facebook. Offenbar JRE 1.7 macht das gelegentlich.
Kopieren Sie das Ergebnis, dass angezeigt wird in der logcat trace und fügen Sie in Ihrem App-Facebook-Konsole, und Sie sollten gut zu gehen.
EDIT: Fast vergessen. Nicht vergessen zu ersetzen, die
ENTER.YOUR.PACKAGE.NAME
Paket der app-name. 😉UPDATE:
Lösung 1:
Versuchen Sie diesen link: http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1. Ich fand, dass die Verwendung der Facebook Methode einen Hash-Schlüssel nicht immer funktioniert wie beworben. Dieser link hat allerdings eine andere Methode, die Hash-Schlüssel und hat so ziemlich immer geklappt.
Lösung 2:
Dass gesagt wird, ich fand immer die einfachste Sache zu tun war, lassen, die Facebook-SDK erzählen Sie, was Ihre Hash-Schlüssel ist. Dies ist bei weitem einfacher und sollte nicht länger dauern als ein paar Minuten.
Schritt 1:
In Ihrem Facebook-SDK, suchen Sie die Util.java Klasse. In diesem, ändern Sie diese:
zu:
Schritt 2:
Erstellen Sie eine neue Signierte APK, die auf Ihr Gerät übertragen und installieren. Wenn es bereits installiert ist, natürlich wird er prompt.
Schritt 3: Mit dem DDMS (Logcat) laufen und Ihr Gerät an den computer angeschlossen, führen Sie die Anwendung und halten auf der Suche nach einem key mismatch Warnung. Diese Warnung hat die tatsächlichen Raute-Taste. Zu kopieren, dass die Taste, gehen Sie zu Ihrem Facebook-Entwickler-Seite und fügen Sie die neuen Schlüssel in der Liste.
<activity android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
, es geht nur um die in Ihrem Manifest. Brauchen Sie nicht zu zuweisen einer Aktivität zu.