使用FB Graph API为特定页面创建Facebook事件 [英] Creating Facebook event for specific page with FB Graph API
问题描述
$ page_id ='31337';
$ page = $ facebook-> api(/ {$ page_id});
$ event_data = array(
'name'=>'事件:'。date(H:m:s),
'start_time'=> time()+ 60 * 60,
'end_time'=> time()+ 60 * 60 * 2,
'owner'=> $ page
);
$ post = $ facebook-> api(/ {$ page_id} / events,'POST',$ event_data);
执行此代码段后,事件将创建,但正如我之前所说的,所有者在给定的数据是页面。我的应用有manage_pages,create_event和publish_stream权限。我缺少什么?
解决方案
在OLD REST API文档我发现新Graph API仍然需要参数 PAGE_ID 即可。所以变量$ event_data应该如下所示:
$ event_data = array(
'name'=>'事件:'。date(H:m:s),
'start_time'=> time()+ 60 * 60,
'end_time'=> time()+ 60 * 2,
'page_id'=> $ page ['id]
);
«代表用户创建一个事件应用程序具有该用户的活动会话密钥;否则它会代表应用程序创建一个事件。» - 源
这回答你的问题吗?
I need synchronize events from my CMS to Facebook specific page. I'm trying to create an event for my created page but still have no result. I can simply create events, related to user, but not to page. Code uses Facebook PHP-SDK.
$page_id = '31337';
$page = $facebook->api("/{$page_id}");
$event_data = array(
'name' => 'Event: ' . date("H:m:s"),
'start_time' => time() + 60*60,
'end_time' => time() + 60*60*2,
'owner' => $page
);
$post = $facebook->api("/{$page_id}/events", 'POST', $event_data);
After executing this snippet, event is created but as I've said before it belongs to user though 'owner' in given data is page. My app has manage_pages, create_event and publish_stream permissions. What I'm missing?
Solution
At "OLD REST API" documentation I have found that "new Graph API" still needs parameter page_id. So variable $event_data should be like below:
$event_data = array(
'name' => 'Event: ' . date("H:m:s"),
'start_time' => time() + 60*60,
'end_time' => time() + 60*60*2,
'page_id' => $page['id]
);
«Creates an event on behalf of the user if the application has an active session key for that user; otherwise it creates an event on behalf of the application.» — Source
Does this answer your question?
这篇关于使用FB Graph API为特定页面创建Facebook事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!