Facebook Marketing API调用leads接口返回空数组但Ads Manager显示存在线索
问题成因
- 权限校验不通过:调用广告线索接口需要
leads_retrieval和ads_management两个接口权限,未完成权限申请的应用只能拉取测试线索,无法获取真实用户提交的线索,即使Ads Manager后台可见,接口也会返回空数组。 - 时间范围限制:线索接口默认仅返回过去30天内产生的线索,超出该时间范围的线索需要主动指定时间过滤参数才能拉取。
- 访问令牌权限不足:调用接口使用的访问令牌所属账号,没有对应广告账户的线索查看权限,或者令牌绑定的应用未和广告所属的商务管理平台完成关联。
- 过滤参数错误:调用接口时传入的过滤规则错误,会把有效线索过滤,最终返回空数据。
解决方案
- 先确认你的应用已完成
leads_retrieval权限的平台审核,当前使用的访问令牌已授予leads_retrieval和ads_management两个权限。 - 调用接口时显式添加时间过滤参数,指定你要查询的线索的最早提交时间,示例请求如下:
https://graph.facebook.com/v12.0/<ad_id>/leads?filtering=[{"field":"created_time","operator":"GREATER_THAN","value":<起始时间Unix时间戳>}]&access_token=<你的访问令牌>
- 确认访问令牌所属用户在对应广告账户的权限列表中,已被分配「查看线索」的权限,同时访问令牌绑定的应用已关联到广告所属的商务管理平台。
- 如果按广告ID拉取不到,也可以改用广告账户维度拉取,同时传入广告ID过滤,避免层级限制导致的查询失效,示例请求如下:
https://graph.facebook.com/v12.0/act_<广告账户ID>/leads?filtering=[{"field":"ad_id","operator":"EQUAL","value":"<目标广告ID>"}]&access_token=<你的访问令牌>
内容的提问来源于stack exchange,提问作者Jeremy Bernier
相关产品推荐
相关产品推荐

