我是facebook api的新手,最近有人告诉我我正在使用旧api。
现在,我似乎无法弄清楚如何检查用户是否使用新的api登录我的网站。
我真正拥有的只是
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: '(appid)', status: true, cookie: true, xfbml: true});
FB.Event.subscribe('auth.sessionChange', function(response) {
if (response.session) {
// A user has logged in, and a new cookie has been saved
} else {
// The user has logged out, and the cookie has been cleared
}
});
</script>
和登录按钮。
如果有人可以告诉我如何检查某人是否已登录,(或者它是否正确?)因为我希望它更改位于div中的登录按钮
<div id="fbuser">
欢迎用户。
或者即使你可以指出我的一些有用的教程,那也很棒!
由于
答案 0 :(得分:21)
这是一个示例,当用户登录/注销时会自动调用fbLoginStatus()
函数,因此您可以决定在那里显示哪个div。
<body>
<div id="fb-root"></div>
<script>
function fbLoginStatus(response) {
if( response.status === 'connected' ) {
//user is logged in, display profile div
} else {
//user is not logged in, display guest div
}
}
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
FB.getLoginStatus(fbLoginStatus);
FB.Event.subscribe('auth.statusChange', fbLoginStatus);
};
(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>
现在,如果您需要检查用户是否立即登录(例如点击按钮):
if(FB.getSession() != null) {
//logged user id: FB.getSession().uid
} else {
//user is not logged in
}
抱歉,不知道任何好的教程。