【问题标题】:How to combine Graph API field expansions?如何组合 Graph API 字段扩展?
【发布时间】:2015-12-12 09:20:15
【问题描述】:

使用此语法查询多个指标时

https://graph.facebook.com/v2.4/69999732748?fields=insights.metric(page_fan_adds_unique,page_fan_adds,page_fan_adds_by_paid_non_paid_unique)&access_token=XYZ&period=day&since=2015-08-12&until=2015-08-13

我总是会获取过去三天的数据,这些数据与 since 和 until 参数的值有关

https://graph.facebook.com/v2.4/69999732748/insights/page_fan_adds_unique?period=day&access_token=XYZ&since=2015-09-10&until=2015-09-11

如果我要求单个指标,则日期参数有效。

是否有不同的语法来请求接受日期参数的多个洞察指标?

【问题讨论】:

  • 第一个 API 调用对我来说看起来不正确:您应该使用 insights 作为 Graph API 边缘,而不是作为字段(这就是您正在做的)。请检查这样做是否会产生不同的结果。
  • 我的查询工作正常 - 除了忽略日期。我使用insights.metrics() 模式查询多个洞察指标。

标签: facebook facebook-graph-api


【解决方案1】:

我认为这应该可行:

curl -G \
-d "access_token=PAGE_TOKEN" \
-d "fields=insights.metric(page_fan_adds_unique,page_fan_adds,page_fan_adds_by_paid_non_paid_unique).since(2015-08-12).until(2015-08-13).period(day)" \
-d "pretty=1" \
"https://graph.facebook.com/v2.4/me"

您正在请求页面的 insights 作为字段。此字段包含data 数组 (insights.data) 中的结果列表,您要过滤此数组。

这样做的方法是将参数化链接到请求的insights 字段,如下所示:

fields=insights
  .filter1(params)
  .filter2(params)
  .filter3(params)

每个.filterX(params) 都将应用于它之前的特定字段。
为了清楚起见,我添加了换行符和缩进,但在您的实际请求中,您会将它们全部链接在一行中,没有空格。

【讨论】:

  • 酷!那么我在哪里可以找到文档呢?
  • 我仍在试图澄清的一件事是,在比较这两种获取洞察力的方法时是否有任何优点/缺点.../fields=insights.metric(page_fan_adds_unique,page_fan_adds).since( 2015-08-12).until(2015-08-13).period(day) vs .../insights/page_fan_adds_unique,page_fan_adds?period=day&since=2015-09-12&until=2015-09-13 我知道第一个我可以请求额外的非见解字段。但如果我只是获得见解,真的有什么区别吗?
  • 这没有记录,因此不受支持。前者的优势在于,只要它有效,您就可以使用它通过单个请求获得各种见解,而无需使用批处理请求。后者的优点是它得到官方支持,所以如果它坏了,你可以向 Facebook 提交一个关于它的错误。在阅读"Using the Graph API" 时,我有了尝试这个的想法
猜你喜欢
  • 1970-01-01
  • 2011-03-07
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 1970-01-01
  • 1970-01-01
  • 2021-12-03
  • 1970-01-01
相关资源
最近更新 更多