0

我在 yii 1.1 中工作,并且有一个 php sdk 3.1.1 的扩展 yii-facebook-opengraph 包装器

    $facebook_id = Yii::app()->facebook->getUser();
    if ($facebook_id) 
      { 
       // check that you get a Facebook ID before calling api()
       // now we know we have a Facebook Session,
       $user_info = Yii::app()->facebook->api('/me'); // so it's safe to call api()
       if ($user_info) 
       {
          // ...  code ...
       }
      }

问题是当用户在一个选项卡中通过 facebook 登录并在另一个选项卡中从 facebook 注销时$facebook_id仍然设置。为什么?当尝试访问用户信息时,出现错误“需要用户会话”。我搜索了很多,找到了类似的东西

$facebook->getSession();

获取用户会话但此功能在 yii-facebook-opengraph 中不可用请建议我任何解决方案。

4

1 回答 1

1

尝试:

if ($facebook_id) {
    try
    {
        $user_info = $fb->api('/me');
    }
    catch(FacebookApiException $e){
        $fb->destroySession();
    }
}

其中$fb是您的$fb = new Facebook();实例

于 2012-11-22T15:19:54.477 回答