首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查用户是否已登录新的Facebook API

检查用户是否已登录新的Facebook API
EN

Stack Overflow用户
提问于 2010-07-28 06:32:11
回答 1查看 30K关注 0票数 18

我是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">

欢迎用户。

或者,如果你能给我提供一些有用的教程,那就太好了!

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-28 09:15:37

下面是一个示例,其中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
}

对不起,我不知道有什么好的教程。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3348543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档