Facebook api方法返回错误代码200并卡住

时间:2012-05-05 10:27:03

标签: php facebook facebook-graph-api try-catch

当我使用Facebook api()方法时,它在我获得许可时正常工作,但是当用户拒绝某些扩展权限并且我的php脚本要求该数据时发生错误并且脚本卡住了。因此,在api()请求之后,不再执行任何指令。

我该如何处理这个错误?我甚至无法获得这些数据以发现存在错误,因为正如我所说的那样,脚本卡住了。

2 个答案:

答案 0 :(得分:3)

每次facebook返回错误代码时,Facebook api都会返回FacebookApiException。

因此,无论何时调用api()方法,都要使用try-catch块。

try{
    f.api("whatever"); 
}catch (FacebookApiException $e) {
      // most likely that user very recently revoked authorization.
      // In any event, we don't have an access token, so say so.
      echo "Something went wrong";
}

答案 1 :(得分:1)

用户可以随时撤销权限,因此即使您之前已获得许可,但这并不意味着您仍然拥有权限。

如果facebook在请求您没有权限的某些数据时仍然存在,唯一的解决方案是在执行命令之前检查您是否具有所需的权限。

请参阅how to check special permissions in facebook