【发布时间】:2012-02-19 23:59:57
【问题描述】:
我正在使用 PHP SDK 通过 facebook::api 方法发布到登录用户的时间轴。我很确定我过去可以使用它,但现在它似乎失败并返回以下错误:
OAuthException: (#3502) URL http://example.com/ 处的对象具有 og:type 的“网站”。属性“事件”需要 og:type 的对象 '例子:事件'。
我已将 URL 放入 Facebook 调试器工具中,并且返回正常。我还使用了 Graph API explorer 来测试 POST 请求,这很有效。唯一没有的地方是我的 PHP 脚本。
我知道我不是唯一遇到此问题的人,但似乎其他人都在使用 Javascript SDK,因此该解决方案与我无关。
我也尝试在我的请求中设置scrape=true,但这没有任何区别。
我使用的代码是:
try{
// Post the reply to the Facebook users wall
$this->facebook_get_attendance['action_id'] = $this->facebook->api(
"/me/example:reply?event=".urlencode("http://www.example.com/facebook-event/$this->area_rel/$this->facebook_event_reply_id")."&scrape=true&access_token={$this->facebook_user_details['access_token']}",
"POST"
);
$this->facebook_get_attendance['action_id'] = $this->facebook_get_attendance['action_id']['id'];
}catch(FacebookApiException $e){
error_log($e);
$this->facebook_get_attendance['action_id'] = NULL;
}
任何想法为什么会发生这种情况?
正在传递的 URL 是:
/me/example:reply?event=http%3A%2F%2Fwww.example.com%2Ffacebook-event%2Fbath%2F612&access_token=ACCESS_TOKEN
【问题讨论】:
-
你用
$this->facebook->api("/me/example:reply将回复发布到Facebook用户墙上怎么样?检查这个link -
显然你对PHP对象不熟悉,代码没有错!该链接专门用于 Javascript SDK。这是PHP!我得出的结论是,这实际上是一个错误,因为我已经通过 PHP SDK 尽可能多地调试了它,但我仍然无法让它工作。 Facebook 也承认这可能是一个错误并正在调查它,希望不会花太长时间,因为这显然是一个非常可怕的问题!
-
看看这个可能对你有帮助stackoverflow.com/questions/7570335/…
-
...urlencode("example.com/facebook-event/$this->area_rel/…) 是否可以直接在双引号内使用对象调用 [$this->facebook_event_reply_id]?我从来没有得到它的替代值,我用它来连接它。
-
@SamArulRaj,我看过这个问题,它与这个问题无关,因为它指的是 javascript SDK。
标签: php facebook facebook-graph-api facebook-php-sdk