facebook graph api高级检索之filtering

Facebook Graph API 的 Filtering 功能允许你在请求数据时,通过指定条件来筛选返回的结果。有很多应用场景,比如通过名称去检索推广系列,检索正在投放中的推广系列等等。

1. 语法

在 Graph API 请求中,可以通过 filtering 参数来指定筛选条件。语法如下:

/endpoint?filtering=[{field:<field_name>,operator:<operator>,value:<value>}]
  • field:要筛选的字段名称。
  • operator:筛选操作符(例如,EQUALGREATER_THANCONTAIN 等)。
  • value:筛选的值。

2. 操作符

以下是常用的筛选操作符:

  • EQUAL:等于。
  • NOT_EQUAL:不等于。
  • GREATER_THAN:大于。
  • GREATER_THAN_OR_EQUAL:大于或等于。
  • LESS_THAN:小于。
  • LESS_THAN_OR_EQUAL:小于或等于。
  • IN:在某个集合中。
  • NOT_IN:不在某个集合中。
  • CONTAIN:包含。
  • NOT_CONTAIN:不包含。

3. 使用案例

https://graph.facebook.com/v21.0/{adAccountId}/campaigns?
fields=name%2Cid
&limit=25
&access_token=<accessToken>
&filtering=[{'field':'name','operator':'CONTAIN','value':'0214_tiktok_app_install_sa'}]

上述就是一个用来通过名称检索推广系列的。

这个的使用场景在于,如果你通过api创建推广系列完成后,由于网络问题,导致你没有收到响应结果,或者在业务处理过程中,出现了导致你未能存储推广系列信息到你本地数据库,这个时候你重新执行任务就会导致重复创建。

4. 多条件检索

由于filtering使用的是中括号,所以可以进行多条件检索

你可以通过数组形式指定多个筛选条件。例如,获取状态为 ACTIVE 且预算大于 $50 的广告组:

GET /act_{ad_account_id}/adsets?filtering=[
  {field:"status",operator:"EQUAL",value:"ACTIVE"},
  {field:"daily_budget",operator:"GREATER_THAN",value:"50"}
]

5. 注意事项

Filtering 的注意事项

  • 字段支持:并非所有字段都支持筛选功能,具体支持的字段请自行尝试,毕竟facebook的文档很垃圾。
  • 性能优化:随着广告数据越来越多,增量检查才是王道,所以要用好filtering。针对删除的广告,可以通过activities进行获取用户操作。
  • 权限要求:某些字段可能需要特定的权限才能访问(同一个accessToken,针对不同的广告账户,可以查询的字段也不一样(坑))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢谷悠扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值