Solución de problemas

A continuación, se enumeran los problemas comunes y las soluciones para el inicio de sesión con Facebook para Android.

Obtengo un error del cuadro de diálogo de inicio de sesión.

Obtengo los permisos del cuadro de diálogo de inicio de sesión nativo, pero la persona no está autenticada. El error de excepción logcat devuelto tiene un aspecto similar al siguiente:

...W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id 

o bien:

Veo un cuadro de diálogo de inicio de sesión no nativo que incluye un error similar al siguiente:

...La aplicación no está configurada correctamente para el inicio de sesión con Facebook... 

Si tienes problemas con el cuadro de diálogo de inicio de sesión, puedes intentar lo siguiente:

Mi hash de clave no es válido.

Si tienes problemas con el hash de clave, puedes intentar lo siguiente:

  • Cuando añadas un nuevo hash de clave en el panel de aplicaciones, asegúrate de guardar los cambios.
  • La contraseña que introdujiste es incorrecta. La contraseña del almacén de claves predeterminada es "android".
  • Copia y pega el hash de clave que enviaste a Facebook en el panel de aplicaciones, guarda los cambios y realiza este cambio en onCreate() de tu actividad principal:
    @Override
    
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                    
         try {
             PackageInfo info = getPackageManager().getPackageInfo(
                               "{your-package-name}",                  //Insert your own package name.  
                                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) {
                      
              }
               ...
    .

Obtengo un error de Keytool.

  • Si obtienes el error Command not found, añade la ruta al elemento PATH global o ve a la carpeta para ejecutar el comando siguiente:
    En Windows: C:\Program Files (x86)\Java\jdk1.6.0\bin
    En MAC: /usr/bin
  • Si Keytool no pudo encontrar la ubicación debug.keystore. Comprueba si la ruta es correcta. Keytool siempre solicita una contraseña cuando tiene la ubicación correcta.