0

出于某种原因,当我检查用户是否登录 Facebook 时,我在 $facebook->api('/me'); 上进行了 api 调用;要检查用户退出 Facebook 时访问令牌是否无效,即使我从 Facebook 页面(在另一个选项卡中)退出,我也可以看到用户信息,并且我无法确定用户是否从 Facebook 退出。

public function __construct() {
    $facebook = new Facebook(array(
        'appId'  => $this->_fbappid,
        'secret' => $this->_fbappsecret,
        'cookie' => true,
    ));
    $this->_facebook = $facebook;
}

public function checkFacebookLogin() {
    try {
        $user = $this->_facebook->getUser();
        $user_profile = $this->_facebook->api('/me','GET');
        return true;
    } catch(FacebookApiException $e) {
        return null;
   }

}

任何人都可以帮助我吗?

4

1 回答 1

0

您可能希望在检查用户之前清除持久数据

facebook->clearAllPersistentData()

如果要检查状态,应使用以下方法将用户重定向到 login_status.php:

facebook->getLoginStatusUrl($params)

获取登录状态 URL 以从 Facebook 获取状态。

参数:

  • ok_session:找到会话时要转到的 URL
  • no_session:用户未连接时要访问的 URL
  • no_user:用户未登录 facebook 时要访问的 URL
于 2012-05-04T16:39:06.473 回答