0

WEBベースアプリです。最初のページはログインを求めています。ログイン ボタンをクリックすると、すべて ajax で処理されます。

ajaxリクエストでは、

 $user = $facebook->getUser(); 

これにより、適切なユーザー ID が付与されます。

 if ($user) {
    try {
        $fbme = $facebook->api('/me');
        $user_id = $fbme['id'];
    } 
    catch (FacebookApiException $e) {           
         error_log($e);
         $user = null;
    }
}

以下の行は以前は機能していました。今はcatchブロックで終わりです。そのため、ユーザーの詳細を確認できません。

何が問題なのですか?今までスクリプトに変更を加えていなかったので、突然動かなくなりました。

4

2 に答える 2

0

アクセストークンが古くなっている可能性があります。次のようなものをお勧めします。

try {
    $data['user_profile'] = $profile = $this->facebook->api('/me');

    }catch (Exception $e){
       $this->facebook->setAccessToken($this->facebook->getAccessToken());
    try {

        if($this->facebook->getUser()) {
        $this->facebook->api(array('method' =>'auth.revokeAuthorization' ));
       }

    }catch(Exception $e) {
        redirect(...);
    }
    redirect(...);
    }
于 2012-12-08T03:18:56.287 に答える
0

フェイスブックのバグでした。彼らは昨夜それを直しました。Facebook php SDK を更新すると動作します。

于 2012-12-07T22:36:37.153 に答える