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

V11.0版Facebook Graph API since/until参数未返回完整日期范围数据

原因分析
  • Facebook Graph API 单次请求默认返回最多25条数据,且帖子默认按创建时间倒序排列,如果你查询的时间范围内帖子总数超过25条,接口只会返回最新的第一页数据,早于2月6日的帖子会落在后续分页中,不会在首次请求结果里展示。
  • 时间参数解析存在时区偏差,你传入的since、until为日期格式,接口默认按UTC时间解析,如果你的预期查询范围是对应本地时区的时间段,会出现时间差,导致部分你认为在范围内的帖子不符合接口的时间筛选条件。
  • /posts接口的since、until默认筛选的是帖子的更新时间而非创建时间,2月2日到2月5日发布的帖子如果后续没有编辑、新增互动等更新操作,不会被该时间条件命中。
  • 令牌权限不足,如果你使用的页面访问令牌没有pages_read_engagement权限,只能获取部分公开的最新帖子,较早发布的帖子会被拦截不返回。
解决方法
  • 先处理分页问题:首先在首次请求的返回结果中找到paging.next字段,直接请求该地址即可获取更早的分页数据;也可以手动在请求参数中添加limit=100(接口支持的最大单次返回数量),减少分页次数,调整后的请求示例如下:
url = f'https://graph.facebook.com/{page_id}/posts?since=2021-02-02&until=2021-02-10&limit=100&fields=id,created_time, from,shares,comments.limit(0).summary(true),insights.metric(post_impressions_paid,post_impressions_paid_unique).period(lifetime),attachments{title, unshimmed_url}&access_token={page_access_token}'
  • 修正时间参数格式:把since、until改为带时区的ISO格式,比如要查询东八区的2021年2月2日0点到2月10日24点,对应UTC时间可以写成since=2021-02-01T16:00:00+0000&until=2021-02-10T16:00:00+0000,避免时区偏差。
  • 扩展查询范围:添加参数include_hidden=true,可以返回隐藏、未发布的帖子,同时确认页面访问令牌已申请pages_read_engagement权限,确保可以拉取全量主页帖子数据。
  • 本地二次过滤:拉取所有分页数据后,在本地对created_time字段做筛选,完全匹配你需要的创建时间范围,避免接口内置筛选规则和预期不一致导致的遗漏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:00:05