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

这是一个 facebook 错误。他们昨晚修好了。如果您更新您的 facebook php SDK,它将起作用。

于 2012-12-07T22:36:37.153 回答
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 回答