如何使用Facebook Graph API编辑现有活动

时间:2011-12-13 23:36:19

标签: facebook-graph-api

我对此进行了广泛的研究,并感到困惑。有关stackoverflow的类似问题,简而言之:RTFM。好吧,我已经做到了,还有更多,我仍然无法找到如何做到这一点。

在主要的FB Graph API页面上,提供了用于验证,阅读,发布(创建),删除Graph对象的文档,但我没有看到在任何地方进行修改。

FB Graph API > User页面仅说明如何代表经过身份验证的用户创建和删除事件。我对这两个动作没有任何问题。

FB Graph API > Event告诉您如何检索现有事件,以及发布到现有事件,帖子,链接,Feed等。再一次,无需修改。

我已经尝试过(拼命)(':由于超链接限制而故意删除):

  1. 发送与创建事件相同的POST请求,即发送到https // graph.facebook.com /< user_id> / events,但带有额外的'id'参数 - 现有的facebook事件ID。 Facebook不喜欢这样,给我一个'id参数已发送'错误(我假设用户的ID)。

  2. 直接发布到事件,即https // graph.facebook.com /< fb_event_id> /使用与创建它时相同的auth_token。 “发布不支持的”错误消息。

  3. 我发送的POST字段与创建事件时的字段相同 - “名称”,“位置”等。


    如果某人能够做到这一点,一个简单的POST示例将清除所有内容。 谢谢!


    更新我开始使用PHP SDK,但缺乏令人沮丧的例子。希望这可以挽救别人的挫败感这里有一些文档示例,用实际的api调用示例增加:

      

    “您可以通过向其发出HTTP POST请求来为用户创建事件   具有create_event权限和以下内容的PROFILE_ID /事件   参数“。

    $facebook->api('/'.$profile_id.'/events', 'POST', $params);
    

    正常......但编辑事件文档(截至12/7/12)具有误导性:

      

    “您可以通过向/ EVENT_ID发出HTTP POST来编辑事件   create_event权限。 “

    $facebook->api('/events/'.$eventid, 'POST', $params);
    

2 个答案:

答案 0 :(得分:2)

布赖恩 我能够使用帐户或页面身份验证令牌直接使用POST(而不是PUT)更新页面事件。这听起来就像你在上面的2中所做的那样。

curl -F 'access_token=...' \
     -F 'name=A modified event name.' \
     https://graph.facebook.com/event_id

我建议您尝试发送修改后的名称字段。此外,因为您已经创建了该事件,所以您拥有正确的权限。对于那些不知道的人,您需要offline_access,create_event,manage_pages等的扩展权限。

令人沮丧的是,因为有一段时间有关于Facebook网站上的更新的文档,但现在我找不到它。

答案 1 :(得分:0)

更新与创建BUT相同,您只能更新由您的APP ID创建的事件。