0

我使用 FB PHP SDK 建立了大约 12 个月的 Codeigniter 站点来实现 FB 身份验证、相册访问和各种其他 FB 功能,现在已经停止工作。我找到了一个错误的修复程序,但我还有更多,并且可以知道是什么导致了它。我猜我的 FB PHP SDK 版本可能已经过时,但我在代码中看不到任何版本号。

错误:

$data = $this->facebook->api('/me');

错误:PHP 致命错误:未捕获的 OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。
在第 1108 行的 C:\inetpub\mysite.com\public_html\application\libraries\base_facebook.php 中抛出

使固定:

$data = $this->facebook->api($userId);

错误:

$sql = SELECT aid, owner, name, object_id FROM album WHERE owner = "USERID";
$this->facebook->api( array( 'method' => 'fql.query', 'query' => $sql ) );

错误:PHP 致命错误:未捕获的异常:102:会话密钥无效或不再有效在第 1108 行的 C:\inetpub\mysite.com\public_html\application\libraries\base_facebook.php 中抛出

来自 base_facebook.php 的第 1107-1127 行

  protected function throwAPIException($result) {
    $e = new FacebookApiException($result);
    switch ($e->getType()) {
      // OAuth 2.0 Draft 00 style
      case 'OAuthException':
        // OAuth 2.0 Draft 10 style
      case 'invalid_token':
        // REST server errors are just Exceptions
      case 'Exception':
        $message = $e->getMessage();
        if ((strpos($message, 'Error validating access token') !== false) ||
            (strpos($message, 'Invalid OAuth access token') !== false) ||
            (strpos($message, 'An active access token must be used') !== false)
        ) {
          $this->destroySession();
        }
        break;
    }

    throw $e;
  }
4

0 回答 0