Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android Facebook remote_app_id no coincide con el ID almacenado Error

En mi aplicación el usuario tiene que iniciar sesión a través de facebook, pero estoy recibiendo este error,

**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) 

Estoy creando hash clave como esta,

 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 

Conseguí la llave entonces agregada a la configuración de facebook.

Dame alguna buena idea a esto,

Gracias.

One Solution collect form web for “Android Facebook remote_app_id no coincide con el ID almacenado Error”

En la actividad principal de su aplicación, en onCreate (), coloque este código y ejecute la aplicación.

Esto le dará la clave Hash clave que es necesario por Facebook. Al parecer, JRE 1.7 lo hace de vez en cuando.

Copia el resultado que se mostrará en el rastreo de logcat y lo pega en la consola de Facebook de tu aplicación y deberías estar bien.

 try { PackageInfo info = getPackageManager().getPackageInfo( "ENTER.YOUR.PACKAGE.NAME", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { 

EDIT: Casi se olvidó. No olvide reemplazar ENTER.YOUR.PACKAGE.NAME con el nombre del paquete de su aplicación. D

ACTUALIZAR:

Solución 1:

Pruebe este enlace: http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1 . Me pareció que el uso del método de Facebook de obtener una clave hash no siempre funcionaba como se anuncia. Este enlace, sin embargo, tiene un método diferente de obtener la clave de Hash y prácticamente siempre ha trabajado.

Solución 2:

Dicho esto, siempre he encontrado la cosa más simple a hacer era, deje que el SDK de Facebook le diga cuál es su clave de Hash . Esto es mucho más simple y no debería tomar más de un par de minutos.

Paso 1: En su SDK de Facebook, busque la clase Util.java . En eso, cambia esto:

 private static boolean ENABLE_LOG = false; 

a:

 private static boolean ENABLE_LOG = true; 

Paso 2: Cree un nuevo APK firmado, transfiéralo a su dispositivo e instálelo. Si ya está instalado, naturalmente, lo solicitará.

Paso 3: Con su DDMS (Logcat) ejecutándose y su dispositivo conectado al ordenador, ejecute la aplicación y siga buscando una advertencia de desajuste de clave . Esa advertencia tiene la clave de hash real . Copie esa clave, vaya a su página de Facebook Developer y agregue la nueva clave a la lista.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.