2010-09-19 4 views
1

J'essaie de voir si un utilisateur est connecté à FB sur mon site Web. J'ai le code suivant ci-dessous, mais peu importe si je suis connecté à mon compte FB ou non la réponse FB.getLoginStatus renvoie toujours null.FB.getLoginStatus renvoie toujours la valeur null indépendamment de la connexion de l'utilisateur au FB

<script type="text/javascript"> 
window.fbAsyncInit = function() { 
FB.init({appId: 'XXXXXXXXXXXXXXX', status: true, cookie: true, 
     xfbml: true}); 
FB.getLoginStatus(function(response) { 
    if (response.session) { 
    alert('Logged In'); 
    } else { 
    alert('Not Logged In'); 
    } 
}); 
}; 

(function() { 
var e = document.createElement('script'); e.async = true; 
e.src = document.location.protocol + 
    '//connect.facebook.net/en_US/all.js'; 
document.getElementById('fb-root').appendChild(e); 
}()); 
</script> 
+0

Êtes-vous simplement connecté sur le site facebook, ou connecté avec facebook sur votre site? Êtes-vous capable de faire d'autres appels à FB api (comme le formulaire de connexion popup)? Cela fonctionnait-il avant? – serg

+0

Juste connecté sur le site FB. Oui, je suis en mesure de faire apparaître le formulaire de connexion et il montre ma photo de compte. Non c'est un nouveau site. – Splashlin

Répondre

2

Il s'est avéré que c'était une mauvaise interprétation des documents FB. La session ne sera renvoyée que si l'utilisateur est connecté à l'application. Pour voir si l'utilisateur est connecté mais pas connecté, vous devez utiliser Response.Status

2

peut-être response.session est dépréciée, exemple de travail officiel de Facebook: Pour déterminer si un utilisateur est connecté à votre application:

FB.getLoginStatus(function(response) { 
    if (response.authResponse) { 
    // logged in and connected user, someone you know 
    } else { 
    // no user session available, someone you dont know 
    } 
}); 
Questions connexes