Android Facebook SDK 3.0 da "aplicación remota id no coincide con el id almacenado" al iniciar sesión


Estoy tratando de construir una aplicación que utiliza Facebook SDK para Android 3.0. Pero cuando estoy tratando de llamar

Session.openActiveSession

Simplemente me da un SessionState con CLOSED_LOGIN_FAILED, y LogCat es:

12-16 00:03:40.510: W/fb4a:fb:OrcaServiceQueue(4105): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id 

He buscado StackOverflow con "remote_app_id" y los resultados son el "Bundle ID" en iOS, pero no se lo que significa el "remote_app_id" en Android. Ya he establecido el nombre del paquete y el nombre de la actividad en la configuración de mi aplicación de Facebook. No tengo idea de la razón de error.

Author: David Fang, 2012-12-15

7 answers

Otro posible error (que ocurrió conmigo) es: configurar un "Hash de clave" en la consola de la aplicación de Facebook y firmar la aplicación de Android usando otro almacén de claves.

Desafortunadamente esto se debe a que El Tutorial de Inicio de Facebook induce este error. Dice que los desarrolladores de Android deben usar la clave de depuración predeterminada de Android en sus ejemplos y no explica que el Hash de clave se debe generar con el mismo almacén de claves que firmará su aplicación.

Mi recomendación es configurar dos Hashes de teclas en tu consola de Facebook:

  1. clave de depuración de Android predeterminada:

Keytool-exportcert-alias androiddebugkey-keystore ~/.android / depurar.keystore / openssl sha1-binario / openssl base64

  1. su clave de lanzamiento de la aplicación:

Keytool-exportcert-alias yourappreleasekeyalias-keystore ~/.tu / ruta / liberación.keystore / openssl sha1-binario / openssl base64

Recuerda: no puedes publique una aplicación firmada con la clave de depuración generada por las herramientas del SDK. Por lo tanto, no es posible publicar una aplicación utilizando solo la clave hash generada usando la primera línea de comandos anterior (como sugiere el tutorial de Facebook.

Para obtener más información sobre cómo firmar su solicitud, visite Firmar su Solicitud.

 77
Author: JPMagalhaes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-24 20:55:08

Otra opción es imprimir el hash de clave enviado a Facebook y usar ese valor.

Realice los siguientes cambios en el método onCreate() en su actividad principal:

try {
    PackageInfo info = getPackageManager().getPackageInfo(
          "com.facebook.samples.loginhowto", PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures){
           MessageDigest md = MessageDigest.getInstance("SHA");
           md.update(signature.toByteArray());
           Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

Sustitúyase com.facebook.samples.loginhowto por your own package name.

Esto funcionó para mí!

 61
Author: TacoEater,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-26 13:32:20

Resolví esta pregunta. El problema es que el " Hash de clave "que generé usando" keytool " estaba mal. Cuando el "keytool" pide una contraseña, usted tiene que utilizar "android" para ello (sin comillas). Estaba usando mi propia contraseña en su lugar. Cuando cambié mi contraseña, el problema desapareció. Espero que esto ayude.

 34
Author: David Fang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-16 01:50:25

Me he quedado atrapado por un openssl incorrecto, que generó una clave hash incorrecta. usé openssl de http://gnuwin32.sourceforge.net/packages/openssl.htm eso resolvió el problema.

 5
Author: user1892751,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-17 12:17:33

Tuve el mismo problema, descubrí que el openssl estaba creando el sha1 incorrecto. descargado uno nuevo y funcionó como un encanto.

 4
Author: TacoEater,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-16 02:53:37

Además, asegúrate de introducir el hash en el lugar correcto en el portal de desarrollo de facebook. Edite la configuración de la aplicación y seleccione la aplicación nativa de Android.

Por error, puse el hash en la 'Configuración de la aplicación de muestra' en su lugar.

 0
Author: zyked,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-21 22:54:40

Está obteniendo la clave hash con la clave de depuración... Que puede funcionar si no ha firmado el paquete y la aplicación en ejecución en modo de depuración. Lo que necesitas hacer es :

1) Vaya al archivo de manifiesto y agregue a la aplicación android:debuggable="true".

2) Ahora ejecute su aplicación y supervise el logcat.

3) Se imprimirá una nueva clave que será la clave coincidente con x9SLcMXBlgly1f36PJuuc4a3YAc, la clave que tiene ahora tiene un signo = en la última.

4) Registrar esto clave en facbook sitio desarrollador

Truco alternativo

Puede hacer otra cosa Simplemente registre esta clave en el sitio de desarrolladores de facebook x9SLcMXBlgly1f36PJuuc4a3YAc =

Simplemente agregue = a la clave que se muestra en la aplicación de Facebook.

¡Has terminado!! Espero que esto funcione.

 0
Author: ashutiwari4,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-30 11:22:53