Facebook“fbs_APP_ID”cookie问题

时间:2011-12-23 06:08:02

标签: php javascript facebook

我最近开始使用Facebook API,我在显示$ _COOKIE [“fbs_APP_ID”] cookie方面遇到了一些问题。即使我使用Facebook登录并重新加载同一页面,cookie仍然显示为空。

这是我的代码。为了安全起见,我拿出了我的应用程序ID,但只是假设我把它放在我的真实脚本中。

顺便说一下,我实际上已经在facebook上注册了我的应用程序。

<html>

<head>
  <title>My Facebook Login Page</title>
</head>

<body>
  <div id="fb-root"></div>

  <script>
    window.fbAsyncInit = function() {
      FB.init({
        appId      : 'APP_ID',
        status     : true, 
        cookie     : true,
        xfbml      : true,
        oauth      : true,
      });

        FB.Event.subscribe('auth.login', function(response){
            window.location.reload();
            document.getElementById("messageContainer").innerHTML = "Reloaded successfully!";
        });

    };

    (function(d){
       var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
       js = d.createElement('script'); js.id = id; js.async = true;
       js.src = "//connect.facebook.net/en_US/all.js";
       d.getElementsByTagName('head')[0].appendChild(js);
     }(document));
  </script>

  <div class="fb-login-button">Login with Facebook</div>
  <div id = "messageContainer"> </div>
  <div id = "cookieCheck"> <?php echo var_dump($_COOKIE["fbs_APP_ID"]) ?></div>
</body>

1 个答案:

答案 0 :(得分:1)

在oauth2上你会得到$ _COOKIE [“fbsr_APP_ID”]的cookie而不是fbs ..

如果你想获得access_token使用响应:

FB.getLoginStatus(function(response) {
   if (response.status === 'connected') { 
    var access_token=response.authResponse.accessToken
   };
})