我对此进行了广泛的研究,并感到困惑。有关stackoverflow的类似问题,简而言之:RTFM。好吧,我已经做到了,还有更多,我仍然无法找到如何做到这一点。
在主要的FB Graph API页面上,提供了用于验证,阅读,发布(创建),删除Graph对象的文档,但我没有看到在任何地方进行修改。
FB Graph API > User页面仅说明如何代表经过身份验证的用户创建和删除事件。我对这两个动作没有任何问题。
FB Graph API > Event告诉您如何检索现有事件,以及发布到现有事件,帖子,链接,Feed等。再一次,无需修改。
我已经尝试过(拼命)(':由于超链接限制而故意删除):
发送与创建事件相同的POST请求,即发送到https // graph.facebook.com /< user_id> / events,但带有额外的'id'参数 - 现有的facebook事件ID。 Facebook不喜欢这样,给我一个'id参数已发送'错误(我假设用户的ID)。
直接发布到事件,即https // graph.facebook.com /< fb_event_id> /使用与创建它时相同的auth_token。 “发布不支持的”错误消息。
我发送的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);
答案 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创建的事件。