Une fenêtre apparaît avec l'entrée de Facebook et lorsque vous cliquez, continuez à générer une erreur
SERVER_ERROR: [code] 1349195 [message]: le hachage de la clé ne correspond pas l'un des hachages enregistrés
login() async { final facebookLogin = new FacebookLogin(); final result = await facebookLogin.logInWithReadPermissions(['email']); switch (result.status) { case FacebookLoginStatus.loggedIn: print(result.accessToken.token); Navigator.of(context).pushReplacementNamed('/home_screen'); break; case FacebookLoginStatus.cancelledByUser: print('CANCELED BY USER'); break; case FacebookLoginStatus.error: print(result.errorMessage); break; } }
4 Réponses :
Vous devez ajouter la clé de hachage à la page de votre application sur facebook.
Pour obtenir la clé de hachage, ouvrez la fin de cmd, entrez (téléchargez cygwin si vous ne l'avez pas)
"C:\Program Files\Java\jdk1.8.0_121\bin\keytool.exe" -exportcert -alias androiddebugkey -keystore "C:\Users\username\.android\debug.keystore" | "C:\cygwin64\bin\openssl.exe" sha1 -binary | "C:\cygwin64\bin\openssl.exe" base64
Après des heures d'essais, j'ai enfin trouvé une solution.
debug.keystore
sous C:\Users\\.android
Succès!
Accédez à vos fichiers apk de sortie (généralement
).
Utilisez keytools pour obtenir la valeur SHA1 (exécutée dans terminal / git bash):
keytool -printcert -jarfile app-debug.apk
Convertissez la valeur HEX en base64 pour obtenir la valeur qui se termine par =. (par exemple, utilisez ce site . Soyez conscient d'avoir à Type d'entrée
a sélectionné Hex
. Et supprimez tout :
entre les groupes de clés SHA1 -> AB: CD: EF
= faux, mais ABCDEF
= correct)
Mettez à jour cette valeur en hachages de clés sous votre plate-forme Android.
cela m'aide à résoudre le problème de connexion de l'application Facebook Flutter.
Voici comment j'ai généré le keyhash facebook pour la version Android
FlutterActivity
importer android.content.Context
import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.Bundle import android.util.Base64 import android.util.Log import io.flutter.embedding.android.FlutterActivity import java.security.MessageDigest import java.security.NoSuchAlgorithmException class MainActivity: FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) printHashKey(this@MainActivity) } fun printHashKey(pContext: Context) { try { val info: PackageInfo = pContext.getPackageManager().getPackageInfo(pContext.getPackageName(), PackageManager.GET_SIGNATURES) for (signature in info.signatures) { val md = MessageDigest.getInstance("SHA") md.update(signature.toByteArray()) val hashKey = String(Base64.encode(md.digest(), 0)) Log.i("MainActivity", "printHashKey() Hash Key: $hashKey") } } catch (e: NoSuchAlgorithmException) { Log.e("MainActivity", "printHashKey()", e) } catch (e: Exception) { Log.e("MainActivity", "printHashKey()", e) } } }
Vous devez mettre à jour les paramètres de votre application sur developer.facebook.com avec le hachage de clé approprié
Vous devez fournir votre clé de hachage de développement dans le panneau des développeurs Facebook. Jetez un œil ici