FB.logout() est appelée sans un jeton d'accès
Je suis en train de vous déconnecter d'un site web que j'ai créé avec Facebook intégré.
L'exploitation forestière dans fonctionne bien, mais quand je veux me déconnecter de Firebug constamment me donne cette erreur:
FB.logout()
appelé sans un jeton d'accès.
Je suis en utilisant le Facebook SDK JavaScript, et le code que j'ai pour vous déconnecter ressemble à ceci:
$(document).ready($(function () {
$("#fblogout").click(facebooklogout);
}));
function facebooklogout() {
FB.logout(function (response) {
}
)};
C'est la déconnexion de code spécifié à la Facebook Les Développeurs De La Documentation, avec juste un bouton assigner la méthode sur le document.prêt
Avant ce code, j'ai le FB.init()
méthode, que tout se passe bien.
Si quelqu'un a une solution, pourquoi FB.la déconnexion n'est pas un jeton d'accès, ce serait apprécié.
Vous devez vous connecter pour publier un commentaire.
Pour vous déconnecter de l'application qui utilise facebook API graphique, utilisez cette JavaScript sur la page de déconnexion juste après la
<form>
tag:Le code fonctionne et est en ligne sur mon site.
handleSessionResponse
méthode à la déconnexion cliquez sur le bouton?Je suis allé pour le moins trivial solution:
post('/logout')
)mydomain.com/logout
urlFB.logout
journaux des gens à sortir de leur facebook compte: developers.facebook.com/docs/reference/javascript/FB.logoutDevrait être quelque chose de plus comme cela. Il y a un changement de l'API JS où vous devez utiliser authResponse au lieu de simplement la session.
FB.logout()
est assez. et ce qui va appeler lahandleSessionResponse
de la fonction, de toute façon? quelle est cette mystérieuseresponse
? la réponse ci-dessus précise cette.J'ai essayé quelque chose comme ceci:
Le message d'erreur indique que vous n'avez pas un jeton d'accès, vous devez les vérifier à l'aide de la FB.getAccessToken() fonction.
Si il n'y a pas de jeton d'accès de la fonction retourne null. Voir l'exemple ci-dessous:
Pensé à elle après de nombreux essais.
En fait, nous sommes en train de
response
à FB.déconnexion.Généralement
response.authResponse.accessToken
contient un jeton. Donc, son erreur à propos de la accessToken n'étant pas là.Penser logiquement, d'où vient cette réponse dans votre code? Sorti de nulle part.
Donc, nous avons besoin d'obtenir que la réponse de l'objet à partir d'une fonction et le passer à la fonction de déconnexion.
Je ne sais pas comment cela a fonctionné pour d'autres, mais cela a fonctionné pour moi.
Il suffit de remplacer le code avec cette
Ce que nous faisons ici est, obtenir le statut de connexion si l'utilisateur est connecté et obtenez des réponses en retour, qui contient tous les jetons et les données.
Et, ensuite, on passe cette réponse à la fonction de déconnexion.