如何使用 Graph API 以编程方式将事件添加到页面?
Posted
技术标签:
【中文标题】如何使用 Graph API 以编程方式将事件添加到页面?【英文标题】:How to programmatically add an event to a page using Graph API? 【发布时间】:2011-06-22 23:31:43 【问题描述】:是否可以使用 Facebook Graph API 以编程方式将事件添加到页面? 如果是,应该发出什么 HTTP 请求?
例如,创业周末有events on its Facebook page。 可以使用Graph API Event object添加这些事件?
【问题讨论】:
【参考方案1】:更新
在 v2.0+ 中不再可能使用 API 创建事件。检查:https://developers.facebook.com/docs/apps/changelog#v2_0
是的,这是可能的。
权限:
create_event
manage_pages
所以首先你得到页面 id 和它的访问令牌,通过:
$facebook->api("/me/accounts");
结果将类似于:
Array
(
[data] => Array
(
[0] => Array
(
[name] => Page Name
[category] => Website
[id] => XXXXXX
[access_token] => XXXXX
)
[1] => Array
(
[name] => Page Name 2
[category] => Company
[id] => XXXXXXX
[access_token] => XXXXXXXX
)
)
)
更新:要检索页面的access_token
,您现在可以直接调用page
对象,如下所示:
$page_info = $facebook->api("/PAGE_ID?fields=access_token");
访问令牌,如果调用成功,应该可以访问:$page_info['access_token']
现在您获得页面 ID 和访问令牌并使用 events
连接:
$nextWeek = time() + (7 * 24 * 60 * 60);
$event_param = array(
"access_token" => "XXXXXXXX",
"name" => "My Page Event",
"start_time" => $nextWeek,
"location" => "Beirut"
);
$event_id = $facebook->api("/PAGE_ID/events", "POST", $event_param);
你就完成了! :-)
【讨论】:
这正是我想要的!还有一个问题,这些页面的 access_token 过期了吗? @jsj:我没有真正检查,但我认为是的,它们过期了。 @fjsj 如果页面管理员更改它们,它们就会过期,否则它们不会 似乎 API v1.0 是唯一提供此功能的 API,现在它不再响应(已弃用):( 即使您有一个有效的令牌。v2.0+ 似乎没有拥有任何发布事件的能力! @BadPirate,更正create_event
权限已弃用 v2.0,我将更新我的答案。以上是关于如何使用 Graph API 以编程方式将事件添加到页面?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Microsoft Graph API 将在线会议 URL 添加到事件
如何通过 Graph API 创建一个 Facebook 事件以具有特定时间和时区,该时间和时区不会因个人用户而改变?
如何以编程方式将访客与会者添加到保存时的 GSuite 日历事件
通过 API(Prometheus)以编程方式将目标添加到 Blackbox Exporter [关闭]