当我使用Facebook api()
方法时,它在我获得许可时正常工作,但是当用户拒绝某些扩展权限并且我的php脚本要求该数据时发生错误并且脚本卡住了。因此,在api()
请求之后,不再执行任何指令。
我该如何处理这个错误?我甚至无法获得这些数据以发现存在错误,因为正如我所说的那样,脚本卡住了。
答案 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在请求您没有权限的某些数据时仍然存在,唯一的解决方案是在执行命令之前检查您是否具有所需的权限。