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

Facebook营销图谱API stop_time过滤失效问题求助

解决Facebook Marketing Graph API stop_time筛选失效问题

问题原因分析

  1. 时区不匹配:Facebook Marketing API默认使用UTC时间处理时间字段筛选,若传入本地时区时间(如+0100)未转换为UTC,会导致筛选逻辑偏差,返回不符合预期的过期广告系列。
  2. 未处理stop_time为null的场景:部分ACTIVE状态的广告系列未设置结束时间(stop_time为null),这类广告会被GREATER_THAN操作符默认纳入结果,容易被误判为“已过期”。
  3. 时间格式精度问题:仅传入2023-06-06这类日期格式时,API会默认解析为UTC当天的00:00:00,若你的预期是本地时区的当天结束时间,会导致筛选范围错误。

修正方案

1. 统一使用UTC时间格式

将目标筛选时间转换为UTC时区的ISO 8601格式(带Z后缀标识UTC),例如原时间2023-06-06T23:30:00+0100转换为UTC后是2023-06-06T22:30:00Z。

2. 明确处理stop_time为null的情况

  • 若需包含永久运行(无结束时间)的广告系列:保留原有筛选逻辑,确保时间转换正确即可。
  • 若需仅筛选有明确结束时间且未过期的广告系列:在filtering中添加额外条件排除stop_time为null的条目。

修正后的请求示例

包含永久运行的广告系列

act_xxx/campaigns?fields=name,start_time,stop_time,effective_status&limit=1000&filtering=[{"field": "effective_status","operator": "IN","value": ["ACTIVE"] }, {"field": "stop_time","operator": "GREATER_THAN","value": "2023-06-06T22:30:00Z"}]

仅筛选有明确结束时间且未过期的广告系列

act_xxx/campaigns?fields=name,start_time,stop_time,effective_status&limit=1000&filtering=[{"field": "effective_status","operator": "IN","value": ["ACTIVE"] }, {"field": "stop_time","operator": "GREATER_THAN","value": "2023-06-06T22:30:00Z"}, {"field": "stop_time","operator": "NOT_EQUALS","value": null}]

验证步骤

  1. 调用修正后的API,检查返回结果中的stop_time字段,确认是否符合预期范围。
  2. 若问题仍存在,可单独测试stop_time筛选条件(移除effective_status筛选),排查多条件组合是否导致逻辑冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:39:59