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)

Facebook からステータスを取得するためのログイン ステータス URL を取得します。

パラメータ:

  • ok_session: セッションが見つかった場合に移動する URL
  • no_session: ユーザーが接続されていない場合に移動する URL
  • no_user: ユーザーが facebook にサインインしていない場合に移動する URL
于 2012-05-04T16:39:06.473 に答える