当我使用 Facebookapi()
方法时,当我获得许可时它可以正常工作,但是当用户拒绝某些扩展权限并且我的 php 脚本要求该数据时,会发生错误并且脚本卡住。所以在api()
请求之后不再执行指令。
我该如何处理该错误?我什至无法获取这些数据以发现存在错误,因为就像我说的脚本卡住了。
当我使用 Facebookapi()
方法时,当我获得许可时它可以正常工作,但是当用户拒绝某些扩展权限并且我的 php 脚本要求该数据时,会发生错误并且脚本卡住。所以在api()
请求之后不再执行指令。
我该如何处理该错误?我什至无法获取这些数据以发现存在错误,因为就像我说的脚本卡住了。
每次 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";
}
用户可以随时撤销权限,因此即使您之前已被授予权限,这并不意味着您仍然拥有该权限。
如果 facebook 在请求某些您无权访问的数据时卡住,唯一的解决方案是在执行命令之前检查您是否具有所需的权限。