我今天在用户墙上发布的应用程序的cron今天崩溃了,我收到了消息错误:
“PHP致命错误:无法访问受保护的属性 FacebookApiException :: $ message in ...“
这是在我收到来自Facebook的开发者提醒后几分钟发生的
您的应用似乎同时请求了读取和写入权限。相反,最初请求少量权限,并在用户决定共享时请求写入权限。 您可以在应用信息中心中查看与您的应用相关的此应用和其他开发者通知, * 。
我无法解决这个问题。 Facebook开发人员的提醒为空,并注明已解决。
任何帮助?
答案 0 :(得分:0)
这两件事彼此无关。访问common error对象时,Cannot access protected property
是面向对象编程中的private or protected field。
答案 1 :(得分:0)
Facebook工程师在这里回答了这个问题。 https://www.facebook.com/groups/fbdevelopers/permalink/534303256613193/
Emil Hesslow说:“警报出错了,我们正在努力清理它。你可以忽略它。”“但是现在你可以忽略警报。如果我们改变它,那么它就会像其他重大变化一样发生变化。”
答案 2 :(得分:0)
我发现这种错误我也在google上搜索“facebookApiException为什么受到保护”,但是没有人有正确的答案。
基本上facebook是保护此错误代码和所有结果,但您无法直接访问它。
您可以使用getResult()函数访问它,如下例所示:
try{
$status = 1;
$photo = $this->facebook->api($fanpage_id . '/photos', 'post', $content);
}catch(CurlException $e){
$status = 0;
$photo = $e;
}catch(FacebookApiException $e){
$status = 0;
$photo = $e->getResult();
}
这就像一个魅力!