Facebook PHP SDK 3.0(检查用户是否已登录)

时间:2011-08-02 13:05:04

标签: login facebook-php-sdk

我正在尝试使用Facebook PHP SDK 3.0来了解用户当前是否登录到他的Facebook帐户以显示他的信息。

这是流程:

  1. 用户访问我的网站并将其帐户与我的脸书应用程序相关联。
  2. 用户现已登录我的网站,我的网站可以访问他的信息。
  3. 用户退出facebook.com。
  4. 用户刷新我的页面。
  5. 用户已退出我的网站。
  6. 用户登录facebook.com。
  7. 用户刷新我的页面。
  8. 用户应该登录我的网站,但不是。
  9. 当您使用Javascript SDK时,您可以检查用户是否已登录,并且一切正常。 PHP SDK 3.0需要做什么?我不想提供access_offline权限,我只是希望能够在登录facebook.com时访问该用户。

    非常感谢, 雷米

2 个答案:

答案 0 :(得分:2)

在所有页面(核心js)中添加此javascript。 login()和logout()是系统登录和注销的函数。 通过这个,它将在每次登录fb时进行检查,并调用登录功能。  并将满足条件 -

  

用户应该登录我的网站,但不是。

<script type="text/javascript">
            window.fbAsyncInit = function() {
                FB.init({appId: '113700398662301', status: true, cookie: true, xfbml: true});

                /* All the events registered */
                FB.Event.subscribe('auth.login', function(response) {
                    // do something with response
                    login();
                });
                FB.Event.subscribe('auth.logout', function(response) {
                    // do something with response
                    logout();
                });

                FB.getLoginStatus(function(response) {
                    if (response.session) {
                        // logged in and connected user, someone you know
                        login();
                    }
                });
            };
</script>

答案 1 :(得分:0)

根据已签名的请求,您应该能够知道用户之前是否已经授权您的应用。 这应该给你一些关于用户的状态。

检查他是否登录到fb,对于授权用户,您可以尝试查询“/ me”并查看是否可以成功查询