You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Facebook Graph API中按时间范围筛选Ads Insights数据?

解决方案

1. 嵌套请求时time_range不生效的解决方法

你直接在根查询参数中加time_range不生效,是因为Facebook Graph API的嵌套边缘节点参数需要单独绑定到对应节点上,无法继承根层级的参数。
正确的请求写法如下:

https://graph.facebook.com/v11.0/act_<ad_account_ID>?fields=ads{insights.params(time_range={'since':'2021-09-01','until':'2021-09-03'}){ad_name,clicks}}

如果直接拼URL调用,需要把time_range对应的JSON结构做URL编码,避免特殊字符解析失败。如果使用官方SDK,直接在insights的调用参数里传入time_range即可,SDK会自动处理嵌套参数逻辑。

2. 直接调用insights接口数据量过大的解决方法

该问题是因为全账户ad级别的全量字段数据超过了接口单次返回的阈值,你可以通过以下方式优化:

  • 优先使用上面的嵌套请求方案,嵌套请求会自动做数据分片,不会触发量级超限报错
  • 若必须使用独立insights接口,添加limit参数限制单次返回条目数,比如设置limit=50,通过返回结果中的paging.next分页链接逐页拉取剩余数据
  • 拆分请求的时间范围,将长周期拆分为多个短周期分别请求,最后合并结果
  • 仅请求实际需要的字段,剔除无关指标减少单条数据体积
  • 添加filtering参数过滤掉无展示、无点击的无效广告数据,减少返回条目总数

内容的提问来源于stack exchange,提问作者Diego

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:21:02