是否可以使用 Facebook 的 GraphAPI 在字段上设置 date_preset?
Is it possible to set date_preset on fields using Facebook's GraphAPI?
我有以下查询需要限制日期:
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions)
一切都很好,并且以所需的格式提供了所需的数据。但我需要将见解限制在前一天,即 date_preset = yesterday
.
给出当前returns的数据样本:
{
"data": [
{
"adset": {
"id": "<id>"
},
"insights": {
"data": [
{
"impressions": "1483",
"spend": "39.11",
"reach": "837",
"actions": [
{
"action_type": "post",
"value": "1"
},
{
"action_type": "post_reaction",
"value": "2"
},
{
"action_type": "comment",
"value": "1"
},
{
"action_type": "link_click",
"value": "25"
},
{
"action_type": "landing_page_view",
"value": "22"
},
{
"action_type": "post_engagement",
"value": "29"
},
{
"action_type": "page_engagement",
"value": "29"
}
],
"date_start": "2021-09-20",
"date_stop": "2021-10-19"
}
],
},
"id": "<id>"
}
]
}
我已经尝试了几种方法来做到这一点,但没有任何效果:
- 获取上个月的数据(忽略预设)
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions)&date_preset=yesterday
- 获取
insights
个字段中的none个,只有adset
个数据
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions).date_preset(yesterday)
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.date_preset(yesterday){impressions,spend,reach,actions}
抱歉,如果这些查询中的一些看起来像废话,第一次使用这个并且图表 API 还没有完全“点击”我,所以这可能是我从根本上误解了语法在几个地方。希望你能进球。
我确实看到了 references to querying on the Ad Account level,虽然这可能有效(它已经有几年历史了,所以据我所知可能不可行)我们不能这样做,因为我们需要从不同的帐户查询到广告帐户。我们无权访问广告帐户进行查询。
似乎正确的语法实际上是我发布的“无效”示例之一:
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions).date_preset(yesterday)
我曾假设缺少洞察力数据会导致值为 0,而不是在响应中完全删除洞察力数据。如果我将日期预设更改为包含广告操作数据的时间范围,我会得到预期的响应。因此,如果在时间范围内没有洞察数据,这只是对端点 returns 的误解。
当然,API 文档中完全没有这一点,这很遗憾。似乎您只是应该通过轮询和注意行为来弄清楚 API。
我有以下查询需要限制日期:
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions)
一切都很好,并且以所需的格式提供了所需的数据。但我需要将见解限制在前一天,即 date_preset = yesterday
.
给出当前returns的数据样本:
{
"data": [
{
"adset": {
"id": "<id>"
},
"insights": {
"data": [
{
"impressions": "1483",
"spend": "39.11",
"reach": "837",
"actions": [
{
"action_type": "post",
"value": "1"
},
{
"action_type": "post_reaction",
"value": "2"
},
{
"action_type": "comment",
"value": "1"
},
{
"action_type": "link_click",
"value": "25"
},
{
"action_type": "landing_page_view",
"value": "22"
},
{
"action_type": "post_engagement",
"value": "29"
},
{
"action_type": "page_engagement",
"value": "29"
}
],
"date_start": "2021-09-20",
"date_stop": "2021-10-19"
}
],
},
"id": "<id>"
}
]
}
我已经尝试了几种方法来做到这一点,但没有任何效果:
- 获取上个月的数据(忽略预设)
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions)&date_preset=yesterday
- 获取
insights
个字段中的none个,只有adset
个数据<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions).date_preset(yesterday)
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.date_preset(yesterday){impressions,spend,reach,actions}
抱歉,如果这些查询中的一些看起来像废话,第一次使用这个并且图表 API 还没有完全“点击”我,所以这可能是我从根本上误解了语法在几个地方。希望你能进球。
我确实看到了 references to querying on the Ad Account level,虽然这可能有效(它已经有几年历史了,所以据我所知可能不可行)我们不能这样做,因为我们需要从不同的帐户查询到广告帐户。我们无权访问广告帐户进行查询。
似乎正确的语法实际上是我发布的“无效”示例之一:
<Ad Campaign ID>/ads?fields=adset.fields(id),insights.fields(impressions,spend,reach,actions).date_preset(yesterday)
我曾假设缺少洞察力数据会导致值为 0,而不是在响应中完全删除洞察力数据。如果我将日期预设更改为包含广告操作数据的时间范围,我会得到预期的响应。因此,如果在时间范围内没有洞察数据,这只是对端点 returns 的误解。
当然,API 文档中完全没有这一点,这很遗憾。似乎您只是应该通过轮询和注意行为来弄清楚 API。