使用Graph API获取Feed中帖子的反应计数

时间:2017-06-23 13:14:21

标签: facebook facebook-graph-api

我正在尝试使用Facebook的图表API来访问群组提要中的每个帖子,以及每个帖子的每种类型的反应数量。

当我尝试只使用一种反应类型时,它可以正常工作:

[GROUP_ID]/feed/?fields=message,from,created_time,updated_time,reactions.type(LOVE).limit(0).summary(total_count)&limit=1

但是,当我添加多个反应类型时,我收到错误。

[GROUP_ID]/feed?fields=message,from,created_time,updated_time,reactions.type(LOVE).limit(0).summary(total_count),reactions.type(WOW).limit(0).summary(total_count)&limit=1

给了我:

{
  "error": {
    "message": "Syntax error \"Field reactions specified more than once. This is only possible before version 2.1\" at character 139: message,from,created_time,updated_time,reactions.type(LOVE).limit(0).summary(total_count),reactions.type(WOW).limit(0).summary(total_count)",
    "type": "OAuthException",
    "code": 2500,
    "fbtrace_id": "GzMCG2dRioK"
  }
}

我遵循了this post中的语法,但它似乎只在尝试访问单个帖子的反应时起作用,而不是针对Feed中的每个帖子。是使用API​​获取Feed中每个帖子的帖子ID的唯一选项,然后在每个帖子上进行单独调用吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

[GROUP_ID]/feed?fields=message,from,created_time,updated_time  
,reactions.type(LOVE).limit(0).summary(total_count).as(reactions_love)
,reactions.type(WOW).limit(0).summary(total_count).as(reactions_wow)
&limit=1

然后您找到了reactions字段reactions_lovereactions_wow,而不是interface IMemoizationMap { [key: string]: boolean } 字段。您可以添加所有类型,并在此处缩短以获得更好的概述;)

答案 1 :(得分:0)

您可以通过询问以下内容来解决别名问题,并仍然可以获得所需内容:

    insights.metric(post_reactions_by_type_total).period(lifetime)

(我在这里找到了:Getting Facebook Post all Reactions Count in single Graph API request