Codeigniter网站我使用FB PHP SDK设置了大约12个月来实现FB身份验证,相册访问和各种其他FB功能现在已停止工作。我发现了一个修复了一个bug的问题,但是我知道是什么导致了它,我可以做更多的事情。我猜我的FB PHP SDK版本可能已过时,但我在代码中看不到任何版本号。
ERROR:
$data = $this->facebook->api('/me');
错误:PHP致命错误:未捕获OAuthException:活动访问 必须使用令牌来查询有关当前用户的信息 投入 C:\的Inetpub \ mysite.com \的public_html \程序\库\ base_facebook.php 在线1108
FIX:
$data = $this->facebook->api($userId);
ERROR:
$sql = SELECT aid, owner, name, object_id FROM album WHERE owner = "USERID";
$this->facebook->api( array( 'method' => 'fql.query', 'query' => $sql ) );
错误:PHP致命错误:未捕获异常:102:会话密钥无效 或者不再有效 C:\的Inetpub \ mysite.com \的public_html \程序\库\ base_facebook.php 在线1108
来自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;
}