¿Cómo crear un hash de clave de Facebook?

En el tutorial de Facebook android se nos dice que utilice el siguiente código para crear un hash clave:

Keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | Openssl sha1-binario | Openssl base64

¿Es este el código exacto para usar en todas las situaciones? Por ejemplo, en lugar de ~/.android/debug.keystore debería ser algo como C:/folderone/foldertwo/.android/debug.keystore ?

Como puede ver, no estoy seguro de si las comas invertidas son necesarias o no, si se requieren rutas completas o no.

¿Cualquier persona puede proporcionar un ejemplo del mundo real?

Ver
Https://developers.facebook.com/docs/mobile/android/build/#sso

tratar

 try { PackageInfo info = getPackageManager().getPackageInfo("com.eatapp", 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) { } 

En su actividad principal 🙂 Esta es la única solución que funciona para mí para Android SDK 3.0

Puedes crear de esta manera

 keytool -exportcert -alias androiddebugkey -keystore c:\Users\<your windows default user>\.android\debug.keystore | openssl sha1 -binary | openssl base64 

Introduzca la contraseña de keystore: android

  /** * Generates the hash key used for Facebook console to register app. It can also be used for other sdks) Method copied from: https://developers.facebook.com/docs/android/getting-started/ */ public static String printHashKey(Context ctx) { // Add code to print out the key hash try { PackageInfo info = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); return Base64.encodeToString(md.digest(), Base64.DEFAULT); } } catch (NameNotFoundException e) { return "SHA-1 generation: the key count not be generated: NameNotFoundException thrown"; } catch (NoSuchAlgorithmException e) { return "SHA-1 generation: the key count not be generated: NoSuchAlgorithmException thrown"; } return "SHA-1 generation: epic failed"; } 

En eclipse, ventana -> preferencias -> Android -> construir -> depuración predeterminada almacén de claves , copie la ruta para reemplazar la ~/.android/debug.keystore

Tuve el mismo problema, pasé un par de horas para encontrar una solución, pero en realidad el SDK de Facebook proporciona la solución por sí mismo.

En la clase DialogListener Modifiqué el método onFacebookError:

 @Override public void onFacebookError(FacebookError error) { Log.d("myTag",error.getmessage); } 

Ejecutar la aplicación (que era signo con la misma clave que uso para el mercado), y en LogCat será un mensaje debajo de esta etiqueta con la clave correcta.

También hemos creado un proyecto simple que hace todo el trabajo, y devuelve la clave correcta en un cuadro de alerta y en LogCat. Lo puedes encontrar en nuestro blog .

Keytool -exportcert -alias androiddebugkey -keystore "ruta debug.keystore" | Openssl sha1-binario | Openssl base64

Si no ha configurado las variables de entorno para ssl abierto y java sdk que poner la ruta de la carpeta bin de jdk en lugar de keytool y su ruta openssl en lugar de openssl y no olvidar poner comillas dobles para su ruta de acceso

Ex "C: \ Archivos de programa \ Java \ jdk1.5.0_11 \ bin" -exportcert -alias androiddebugkey -keystore "C: \ Users \ amin.android \ debug.keystore" | "F: \ openssl \ binsha1 \ openssl.exe" -binary | "F: \ openssl \ binsha1 \ openssl.exe" base64

Una opción de fuerza bruta es seguir adelante e intentar compartir algo de tu aplicación. Mi aplicación muestra una página de Facebook con la clave que intenta igualar. A continuación, puede copiar esta clave y ponerla en la página de configuración de Facebook en su cuenta de Facebook de desarrollador.

No es ideal, pero en una pizca puede ser útil.

Al tener el error en el registro, al intentar iniciar sesión en Facebook, busque algo que se vea como:

 Invalid key hash. The key hash *** does not match any stored key hashes. Configure your app key hashes at http://developers.facebook.com/apps/565561836797777 

Donde "***" es la clave que debe usar.

  • Error de la aplicación al solicitar una lista de amigos
  • Compartir un anuncio de pared por facebook android sdk
  • Facebook android shareDialog se cierra después de abrir
  • Autenticación de Facebook para el servicio JSON con la aplicación Android
  • Establecer permiso para obtener el ID de correo electrónico del usuario desde Facebook
  • Aplicación para Android de Facebook: expiración de token de acceso (expires_in) siempre es 0
  • Cómo extender una SherlockFragmentActivity al implementar Facebook SDK 3.0
  • No se puede reloginar con las credenciales de Facebook después de cerrar la sesión
  • FbDialog no muestra contenido completo en dispositivos más pequeños
  • Facebook login NullPointerException
  • Publicar en la pared de amigos con Android FB SDK.
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.