按照这里的文档
https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights/
我正在查询有关广告效果等的见解。但是,我无法使 time_frame 起作用。像这样的查询
只返回生命周期统计信息。我尝试以多种方式修改查询,但它始终是错误或生命周期。
任何帮助将不胜感激!
谢谢
按照这里的文档
https://developers.facebook.com/docs/marketing-api/reference/ad-campaign-group/insights/
我正在查询有关广告效果等的见解。但是,我无法使 time_frame 起作用。像这样的查询
只返回生命周期统计信息。我尝试以多种方式修改查询,但它始终是错误或生命周期。
任何帮助将不胜感激!
谢谢
我想你现在已经找到了答案,但这可以帮助其他人,因为从经验来看,文档并不总是最友好的。
您需要将其格式化为 time_range 对象,下面的示例对象来自您包含的文档的该页面。它本质上只是一个具有 2 个属性的对象 - 自和直到。
{'since'=>YYYY-MM-DD,'until'=>YYYY-MM-DD}
因此,从您使用的示例 URL 中,而不是使用单个参数设置since和until值,时间范围将设置如下(我已经对对象进行了 URL 编码):
time_range=%7B%22since%22%3A%22 YYYY-MM-DD %22%2C%22until%22%3A%22 YYYY-MM-DD %22%7D
time_range
如果您不想编码URL
并希望保持 URL 干净,另一种选择是按如下方式传递对象。
Facebook 足够聪明,可以解析 URL 并设置正确的time_range
.
https://httpbin.org/get?time_range[since]=2019-08-10&time_range[until]=2019-09-09
如果您在 Graph API Explorer 中执行此操作,则应如下所示:
我从 Facebook 的文档本身获得了 #2 语法:|
是的,Facebook 没有为此提供好的文档。我也很挣扎。我们可以使用时间范围来获取特定日期或日期范围的数据。
在 Graph API 中,您可以像下面这样提供?fields=id,name,adaccounts{campaigns{adsets{ads{insights.time_range({'since':'2020-05-01','until':'2020-05- 01'}){adset_id,campaign_id,ad_id,clicks}}}}}
注意instances.time_range({'since':'2020-05-01','until':'2020-05-01'}) 中的语法。
一旦您提供上述代码并提交,fb 会提供不同语言的代码,例如 JavaScript、ios、android 等。
curl 将如下所示
curl -i -X GET \ " https://graph.facebook.com/v6.0/me?fields=id%2Cname%2Cadaccounts%7Bcampaigns%7Badsets%7Bads%7Binsights.time_range(%7B 'since'%3A' 2020-05-01'%2C'直到'%3A'2020-05-01'%7D)%7Badset_id%2Ccampaign_id%2Cad_id%2Cclicks%7D%7D%7D%7D%7D&access_token="
由于上面提到的解决方案都不适合我,尽管这是一个非常晚的回应。我如何尝试如下:
dates = 'since='+start_date+'&until='+end_date
requests.get("https://graph.facebook.com/" + BusinessManagerConfig.version + key + \
"/insights?metric=" + ','.join(BusinessManagerConfig.metrics) + \
"&period=day&" + dates + \
"&access_token="+page_token + '&limit=5')
我希望它可以帮助别人
这个每次都能吸引我。这是一个在 Graph API 中有效的 URL。
act_2222222/insights?fields=unique_actions,actions&level=account&time_ranges=[{since:'2020-06-12',until:'2020-06-12'}]
2222222 是您的广告帐户
我一直收到一个 HTML 错误页面作为响应,直到我终于意识到逗号后面的空格让这个 API 不满意。
“time_range={since:'2020-06-12',until:'2020-06-14'}”工作正常。
"time_range={since:'2020-06-12', until:'2020-06-14'}" 造成很多痛苦。