如何使用 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 [关闭]

使用 AutoLayout 以编程方式将 UILabel 添加到 ScrollView (swift)

在 android 中以编程方式使用谷歌日历添加同步事件