0

我有这个错误,但并非总是如此。(我使用 PHP SDK,最新版本)。如果我登录 facebook 并尝试注册并登录,那么应用程序会说没问题!此外,如果我没有登录 facebook,应用程序会将我重定向到登录 url,这里一切正常。

有时应用程序会说这个异常:OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。并且脚本使用循环重定向将用户重定向到 loginUrl(因为访问令牌无效并且用户始终需要 loginUrl)

在网络上,有人说 Facebook 创建了访问令牌的副本,然后 php sdk 的访问令牌不是= facebook。

为了修复,用户必须删除 cookie,我该如何解决这个问题?

非常感谢您的回复,如果代码需要回复,我会发布它,祝您有美好的一天!:)

4

1 回答 1

1

尝试销毁 Facebook 会话,如果收到此错误,则将用户重定向到登录 URI,这样您将获得新的访问令牌。

注意:访问令牌会在很短的时间内过期,您可以获得一个长期存在的访问令牌。最新的 PHP SDK 包含一个名为:setExtendedAccessToken() 的公共函数

您可以调用此函数自动将 2-3 小时的生活访问令牌交换为 60 天的访问令牌

例如:

try {
      $user = $this->facebooknew->api('/me');
      $this->facebooknew->setExtendedAccessToken();
      $access_token = $this->facebooknew->getAccessToken();
}
catch(FacebookApiException $e){
      $this->facebooknew->destroySession();
      header('Location: ' . $this->facebooknew->getLoginUrl($params));
        //echo $e;
}
于 2013-06-16T20:36:32.043 回答