Facebook Graph API事件批处理

时间:2015-07-27 23:08:33

标签: facebook facebook-graph-api

我有一种情况需要编写一个工具,允许用户检索大量Facebook页面的事件(目前大约有500个,但这个数字可能会有波动。)

到目前为止,我一直在假设Facebook允许我们批量处理事件请求并处理它们,但我不再确定。请求直接检索页面的事件,例如:https://graph.facebook.com/v2.4/1419989008240078/events工作得很漂亮,但是当我尝试用这样的事情批量处理这些请求时:

curl \
-F 'access_token=whoops' \
-F 'batch=[{"method":"GET", "relative_url":"587297284709320/events"},{"method":"GET", "relative_url":"1407629216134445/events"}]' \
https://graph.facebook.com > ~/Desktop/tmp.txt

我得到类似this的输出,但做的事情就像删除事件边缘一样简单:

curl \
-F 'access_token=whoops' \
-F 'batch=[{"method":"GET", "relative_url":"587297284709320"},{"method":"GET", "relative_url":"1407629216134445"}]' \
https://graph.facebook.com > ~/Desktop/tmp.txt

正确返回页面数据。

我还没有能够在文档中找到任何表明我想要做的事情是不可能的事情,但我也不知道如何改变我的要求!

根据以下建议,我已经开始尝试使用其他方法批量处理请求,并且看起来存在某种更深层次的错误,如

curl "https://graph.facebook.com/events?ids=587297284709320&access_token=token" > ~/desktop/tmp.txt

也失败了,但是如果我在图API浏览器中使用相同的访问令牌,它可以正常工作。

1 个答案:

答案 0 :(得分:1)

对我来说闻起来像Facebook的错误...你的代码看起来对我来说是正确的,为什么为page_ids返回的东西是不可理解的,但不是为了边缘...

尽管如此,你可以使用

/v2.4/?ids=587297284709320,1407629216134445&fields=events

请注意,如果您使用的是Graph API v2.4,则必须指定要从图谱API返回的每个字段,例如

/v2.4/?ids=587297284709320,1407629216134445&fields=events{id,name,description,place}