获取Facebook发布所有反应在单个Graph API请求中计数

由于Facebook发布了新的反应(NONE,LIKE,LOVE,WOW,HAHA,SAD,ANGRY),但我无法弄清楚单图API请求中的所有反应计数。

有没有人想出了一个方法来得到这个详细的反应每个职位的单个请求?

@CBroe引入的方法似乎正在使用多个ID读取请求 。

?IDS = 7175346442_10153799389241443,7175346442_10153799470326443&字段= reactions.type(爱).limit(0)。总结(TOTAL_COUNT)。如(reactions_love),reactions.type(WOW).limit(0)。总结(TOTAL_COUNT)。如(reactions_wow) ,reactions.type(HAHA).limit(0)。总结(TOTAL_COUNT)。如(reactions_haha),…

来自Facebook Graph API Explorer的屏幕截图:

在这里输入图像描述

一旦检索到post集合,就可以使用单个请求读取按types分组的反应计数。 请注意,多个ID读取请求模式中的ID的当前限制是50。

理论上可能使用场扩展结合字段别名 ,如下所示:

?fields=reactions.type(LIKE).limit(0).summary(1).as(like), reactions.type(WOW).limit(0).summary(1).as(wow), reactions.type(SAD).limit(0).summary(1).as(sad),… 

但是这方面似乎还存在一些问题。 我经常在testing时遇到“未知错误发生” 在上面的查询中,用LIreplaceLIKE的极限值会触发它…

只需将以下内容用作graphics查询的一部分

 fbpageid/posts?fields=created_time,story,message,shares,reactions.type(LIKE).limit(0).summary(1).as(like),reactions.type(LOVE).limit(0).summary(1).as(love),reactions.type(HAHA).limit(0).summary(1).as(haha),reactions.type(WOW).limit(0).summary(1).as(wow),reactions.type(SAD).limit(0).summary(1).as(sad),reactions.type(ANGRY).limit(0).summary(1).as(angry)&limit=10 

所以我会得到邮政编号,创build时间,故事,消息,共享计数,反应计数(目前6反应)只使用1个查询。 它也适用于APi v2.9

如果您拥有read_insights权限,则可以按照以下方式对Feed或post进行read_insights

fields=insights.metric(post_reactions_by_type_total).period(lifetime).as(post_reactions_by_type_total)

你会得到像这样的结果:

  "name": "post_reactions_by_type_total", "period": "lifetime", "values": [ { "value": { "like": 10, "love": 2, "wow": 3, "haha": 1, "sorry": 1, "anger": 2 } } ], 

我find了一个方法来实现这个1请求:

 GET /{userId}?fields= posts.as(like){reactions.type(LIKE).limit(0).summary(true)}, posts.as(love){reactions.type(LOVE).limit(0).summary(true)}, posts.as(wow){reactions.type(WOW).limit(0).summary(true)}, posts.as(haha){reactions.type(HAHA).limit(0).summary(true)}, posts.as(sad){reactions.type(SAD).limit(0).summary(true)}, posts.as(angry){reactions.type(ANGRY).limit(0).summary(true)}, posts.as(thankful){reactions.type(THANKFUL).limit(0).summary(true)} 

这样你将收到7个职位列表(每个反应一个)。 例:

 { "like": { "data": [<list of posts>] }, "love": { "data": [<list of posts>] }, "wow": { "data": [<list of posts>] }, "haha": { "data": [<list of posts>] }, "sad": { "data": [<list of posts>] }, "angry": { "data": [<list of posts>] }, "thankful": { "data": [<list of posts>] }, "paging": { "previous": "...", "next": "..." }, "id": "<userId>" }