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

Login Facebook PHP SDK 3.0(检查用户是否登录),login,facebook-php-sdk,Login,Facebook Php Sdk,我试图使用Facebook PHP SDK 3.0来了解用户当前是否登录到其Facebook帐户以显示其信息 这就是流程: 用户访问我的网站并将其帐户与我的facebook应用程序连接 用户现在登录到我的网站,我的网站可以访问他的信息 用户从facebook.com注销 用户刷新我的页面 用户已从我的网站注销 用户登录facebook.com 用户刷新我的页面 用户应登录到我的网站,但未登录 当您使用Javascript SDK时,您可以检查用户是否已登录,并且所有步骤都正常工作。PHPSDK3

我试图使用Facebook PHP SDK 3.0来了解用户当前是否登录到其Facebook帐户以显示其信息

这就是流程:

  • 用户访问我的网站并将其帐户与我的facebook应用程序连接
  • 用户现在登录到我的网站,我的网站可以访问他的信息
  • 用户从facebook.com注销
  • 用户刷新我的页面
  • 用户已从我的网站注销
  • 用户登录facebook.com
  • 用户刷新我的页面
  • 用户应登录到我的网站,但未登录
  • 当您使用Javascript SDK时,您可以检查用户是否已登录,并且所有步骤都正常工作。PHPSDK3.0需要做什么?我不想授予access\u脱机权限,我只想在用户登录facebook.com时能够访问该用户

    非常感谢,
    Jeremie

    根据签名的请求,你应该能够知道用户以前是否授权过你的应用程序。 这应该给你一些关于用户的状态


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

    在所有页面(core js)中添加此javascript。 login()和logout()是用于系统登录和注销的函数。 这样,每次fb登录或未登录时,它都会进行检查,并调用函数进行登录。 并会符合以下条件—

    用户应登录到我的网站,但未登录

    
    window.fbAsyninit=函数(){
    init({appId:'113700398662301',状态:true,cookie:true,xfbml:true});
    /*所有事件都已登记*/
    FB.Event.subscribe('auth.login',函数(响应){
    //做些有反应的事情
    登录();
    });
    FB.Event.subscribe('auth.logout',函数(响应){
    //做些有反应的事情
    注销();
    });
    FB.getLoginStatus(函数(响应){
    if(response.session){
    //已登录并已连接的用户,您认识的人
    登录();
    }
    });
    };
    
    问题是PHP API中的“/me”在我在facebook上“重新登录”并返回到我的站点后会给我“null”。然而,通过javascript API,它告诉我我已登录。
    <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>