Facebook Javascript SDK FB.getLoginStatus即使在用户连接时也返回空会话
我使用此代码检查用户是否有打开的Facebook会话并允许我的应用:Facebook Javascript SDK FB.getLoginStatus即使在用户连接时也返回空会话,javascript,facebook,session,Javascript,Facebook,Session,我使用此代码检查用户是否有打开的Facebook会话并允许我的应用: window.fbAsyncInit = function() { FB.init({ appId : 'MY APP ID', status : true, // check login status cookie : true, // enable cookies to allow the server to access the session
window.fbAsyncInit = function() {
FB.init({
appId : 'MY APP ID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
function checkLoginFB() {
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
showLogout();
} else {
// no user session available, someone you dont know
showLogin();
}
});
}
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
}
但不管怎样(无论用户是否登录到Facebook并允许我的应用程序)
我得到response.session的空值。有人知道原因吗?SDK似乎没有正确加载。如果你
console.log
FB var,你会得到什么
检查HTML中是否有id为
fb root
的div,并将其放置在您发布的JS之前。此处的问题是由于我在浏览器中关闭了“接受第三方cookie”而导致的。
我甚至没有想到这一点,因为我甚至不记得关闭了它们。只是为了验证您是否确实在更改
“我的应用程序ID”
,以反映您的实际应用程序ID是否正确?是的,我只是在这篇文章中使用了“我的应用程序ID”。这是在哪里发生的?在实时网站上还是在开发环境中?