web-dev-qa-db-fra.com

La connexion Facebook ne fonctionne pas dans Android Facebook dans le navigateur de l'application

Depuis une très grande période de connexion, j'utilise le SDK Javascript de connexion Facebook sur mon site Web, mais récemment, il a cessé de fonctionner dans le navigateur intégré à l'application Android Facebook Facebook. Lorsque je clique sur le bouton de connexion, il se recharge la page complète pour aller à la page d'autorisation, puis est revenue, elle n'a rien obtenu

L'échantillon est donné par Facebook a également le même problème, a testé en utilisant même la fonction FB.login et également avec le bouton de connexion Facebook ( https://developers.facebook.com/docs/facebook-login/web/login- bouton ). J'ai le même résultat pour les deux. Il rafraîchit simplement la page.

Exemple de code:

<script>

function LoggedFb(){
      FB.login(function (response) {
                FB.api(`/me?fields=id,email&access_token=${response.authResponse.accessToken}`, function 
                (userResponse) {
                    alert(userResponse.email);
                });
            }, { scope: 'email' })
}

</script>

Le code fonctionne sur toutes les plateformes autres que le Android Facebook de l'application).

Merci.

4
sagar43

Pour moi, cela faisait une boucle constante: se connecter, se rafraîchir et réessayer sans jamais se connecter.

J'ai pu résoudre ce problème en utilisant FB.getLoginStatus au lieu de simplement FB.login.

Si l'utilisateur est déjà connecté via fb, il passera. sinon, il y aura un rafraîchissement, mais la connexion fonctionnera.

J'apprécierais que quelqu'un puisse résoudre ce problème afin qu'il n'y ait aucun rafraîchissement.

Exemple de code:

function signIn() {
  FB.getLoginStatus((response: any) => {
    if (response.status !== 'connected') {
      return FB.login((response: any) => {
        handleFbResponse(response);
      }, {
        scope: 'public_profile,email',
        enable_profile_selector: true,
        auth_type: 'rerequest',
        return_scopes: true
      });
    } else {
      handleFbResponse(response);
    }
  });
}

function handleFbResponse(response) { ... }
1
Aryeh Beitz