web-dev-qa-db-fra.com

Erreur de connexion: une erreur s'est produite lors de la connexion à cette application. Veuillez réessayer plus tard

Je reçois cette erreur. Lorsque j'essaie de me connecter avec Facebook à mon application. Lors de la première authentification, cela fonctionnera correctement. Après avoir désarmé ma candidature et essayé maintenant de me connecter à Facebook, je reçois cette erreur.

Autre problème : Après vous être authentifié sur le périphérique1 et essayez de vous connecter avec Facebook sur le périphérique2, la même erreur se produit.

Solution trouvée: Lorsque je supprime l'authentification de l'application dans les paramètres de l'application Facebook, il fonctionne dans le scénario ci-dessus, mais ce n'est pas une bonne solution. Comment pouvons-nous en informer les utilisateurs? faire cette action?

btnFbLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(accessToken != null) {
                    boolean expires = accessToken.isExpired();
                    if(!expires) {
                        performFbLoginOrSignUp(accessToken);
                    }
                } else {
                    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
                    callbackManager = CallbackManager.Factory.create();

                    if (loginButton != null) {
                        loginButton.setReadPermissions("public_profile", "email", "user_friends");

                        if (CommonUtil.isConnectingToInternet(LoginActivity.this)) {
                            loginButton.performClick();

                            loginButton.setPressed(true);

                            loginButton.invalidate();

                            loginButton.registerCallback(callbackManager, mCallBack);

                            loginButton.setPressed(false);

                            loginButton.invalidate();
                        } 
                    }
                }
            }
        });

Error page

Dans l'exemple Facebook ayant également un problème: lien GitHub de l'exemple Facebook

Étapes pour reproduire:

  1. Lancez l'application Connectez-vous avec Facebook Authentifiez le profil FB.

  2. Désinstallez l'application et réinstallez-la.

  3. Maintenant, essayez de vous connecter avec Facebook.

  4. L'erreur ci-dessus se produira. parce que nous avons déjà authentifié alors besoin d'accéder au profil de fb. mais ici nous sommes confrontés au problème.
  5. Ici, la page déjà authentifiée n'est pas affichée.
  6. J'utilise l'application native FB avec l'appareil Xiaomi Redmi Note 3
31
Naveen Kumar M

Je fais aussi face à ce problème. Mettez à jour votre clé de hachage sur Facebook

8
Lokesh Mehta

L'erreur se produit en raison d'une clé de hachage non valide.

Nous pouvons créer une clé de hachage à l’aide de la commande ci-dessous et la mettre à jour ici sous Paramètres-> Basique -> Android HashKeys

keytool -exportcert -alias ADD_RELEASE_KEY_ALIASE_HERE -keystore ADD_UR_KEYSTORE_PATH_HERE | openssl sha1 -binary | openssl base64

Vous pouvez trouver l'alias de clé Relase de votre magasin de clés à l'aide de la commande ci-dessous, si nécessaire:

keytool -list -keystore ADD_UR_KEYSTORE_PATH_HERE

J'ai également rencontré un problème, par exemple en utilisant le HashKey ci-dessus, la connexion fonctionne correctement si j'installe le fichier APK directement sur le périphérique. Le correctif est le suivant:

  1. Aller à la gestion des versions ici
  2. Sélectionnez Gestion des versions -> Signature de l'application
  3. Vous pouvez voir la clé SHA1 au format hexadécimal du certificat de signature de l'application.
  4. Copiez le SHA1 au format hexadécimal et convertissez-le au format base64, vous pouvez utiliser ceci lien faire cela sans la partie SHA1: de l'hexagone.
  5. Allez sur la console développeur Facebook et ajoutez la clé (après conversion en base 64) dans les paramètres -> de base -> les hachages de clé.
9
SumiSadiq

C'est le problème de Facebook. Confirmé par l'équipe Facebook.

enter image description here

Résolution attendue: dans les 3 jours

2
Naveen Kumar M

Ce problème se produit car vous avez déjà authentifié l'application via Facebook et votre code peut contenir Authentifier à chaque fois que Facebook (Rechercher et supprimer).

Suivez ces étapes:

  1. Accédez aux paramètres de Facebook.

  2. Supprimer votre application.

  3. Assurez-vous que vous avez ajouté la connexion Facebook dans la page de développeur Facebook et que vous avez activé le client OAuth connexion.

  4. Accédez à votre code et remplacez la méthode de rappel:

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        mFacebookCallbackManager.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            Intent secondActivityIntent = new Intent(this, RedirectActivity.class);
            startActivity(secondActivityIntent);
        }
    }
    
  5. Dans la méthode Oncreate, appelez AccessToken:

    accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(
                AccessToken oldAccessToken,
                AccessToken currentAccessToken) {
            // Set the access token using
            // currentAccessToken when it's loaded or set.
        }
    };
    
    // If the access token is available already assign it.
    accessToken = AccessToken.getCurrentAccessToken();
    
    if (accessToken != null && !accessToken.isExpired())
    {
        GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
            @Override
            public void onCompleted(JSONObject object, GraphResponse response) {
                if(null != object) {
                    try
                    {
                        Intent i = new Intent(MainActivity.this, Feedback.class);
                        startActivity(i);
                        String email = object.getString("email");
                        String birthday = object.getString("birthday");
    
                    }
                    catch (Exception ex)
                    {
                        Toast.makeText(MainActivity.this, ex.toString(), Toast.LENGTH_SHORT).show();
                    }
                } else {
                    // call your authentication process
    
                }
            }
        });
        Bundle parameters = new Bundle();
        parameters.putString("fields", "id,name,birthday,link");
        request.setParameters(parameters);
        request.executeAsync();
    }
    
1
Parthiban Kannan

Le problème pour moi est vraiment avec la clé de hachage, ce n'est pas valide.

J'ai eu exactement le même problème et c'était très difficile à diagnostiquer. La raison en est que Facebook ne vérifie pas la clé de hachage lors de la première connexion et il semble que la clé soit correcte, mais en réalité ce n'est pas le cas. Deuxièmement, le message d'erreur est simplement une idiocratie. Troisièmement, la résolution: essayez le lien suivant, cela m'a aidé.

Meilleures instructions pour générer une clé de hachage valide

0
user732456
  1. Supprimer l'application des paramètres de l'utilisateur dans Facebook (compte).

  2. Désinstallez l'application.

  3. Obtenez le nouveau hachage à l'aide de la version ou du nouveau magasin de clés de débogage. Utilisez cette commande:

    keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
    
  4. Ajoutez le nouveau hachage sur le tableau de bord Facebook.

0
mohamed sakr

J'ai rencontré le même problème.

C'était une erreur de mon côté.

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Lorsque vous tapez cette commande, il affiche l'invite Enter keystore password:. Je donnais le keyPassword à la place storePassword et il n'a pas donné de message d'erreur mais a généré un hachage différent!

0
Touhidul Islam

Je renvoie cela,

https://developers.facebook.com/docs/Android/getting-started

ou ajoutez simplement le code ci-dessous dans la méthode onCreate (), qui renverra le hachage de la clé.

 // Add code to print out the key hash
try {
    PackageInfo info = getPackageManager().getPackageInfo(
            "com.facebook.samples.hellofacebook", 
            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) {

}

Ajouter le code ci-dessus pour récupérer la clé, cette clé que vous pouvez stocker

https://developers.facebook.com/docs/facebook-login/Android

ici. Maintenant ça va marcher.

Cela a fonctionné pour moi, espère que cela fonctionnera pour vous aussi.

0
Gaurav Pawar

Je faisais face au même problème. J'avais mes clés parfaitement définies, je faisais toujours face au même problème. Je n'ai pas pu me connecter même pour la première fois.

La solution à mon problème était:

  1. Accédez au tableau de bord de votre application ici

  2. Dans le volet de gauche, sous l'onglet Produits, vérifiez que vous avez ajouté la connexion Facebook. Sinon, ajoutez-le là.

Si toutes vos autres configurations sont en place. Cela fonctionne parfaitement après cela.

0
Android Mason

J'ai eu le même problème sur mon Redmi Note 3. Testé sur Samsung. Pas de problème. Je me demande si c'est spécifique à Redmi.

0
Ben Looi

J'ai été confronté au même problème et j'ai constaté que la clé de hachage générée pour pouvoir être insérée dans la console de développement Facebook n'était pas appropriée. J'ai essayé de générer une clé de hachage à partir d'un PC différent et celui-ci m'a demandé de saisir un mot de passe pour ce fichier de clés, ce qui n'était pas le cas sur mon PC. Assurez-vous donc que vous serez invité à entrer mot de passe de la clé de stockage lors de la création de la clé de hachage, puis à l'insérer dans la console du développeur Facebook.

Commande pour générer la clé de hachage:

keytool -exportcert -alias TYPE ALIAS HERE -keystore KEY_STORE_FILE_PATH_HERE | openssl sha1 -binary | openssl base64
0
apurv thakkar

J'ai eu le même problème aujourd'hui sur mes sites et ensuite j'ai réalisé que j'utilisais l'ancien default_graph_version = v3.2. Je l'ai changé au plus tard:

default_graph_version = v4.0

Maintenant tout fonctionne à nouveau. Essaie.

0
pdolinaj