0

私はyii1.1で作業していて、phpsdk3.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 ...
       }
      }

問題は、ユーザーが1つのタブで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 に答える