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.
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) { ... }