【发布时间】:2019-01-22 17:09:35
【问题描述】:
我正在开发 Facebook 评论管理器,但我无法从 Facebook API 仅获取有效的广告创意。
有没有办法让所有广告素材按其状态过滤?
我无法手动检查所有广告,因为我计划每隔几分钟拉一次广告,而我会达到 Facebook 的速率限制。
【问题讨论】:
标签: facebook facebook-graph-api facebook-php-sdk facebook-marketing-api
我正在开发 Facebook 评论管理器,但我无法从 Facebook API 仅获取有效的广告创意。
有没有办法让所有广告素材按其状态过滤?
我无法手动检查所有广告,因为我计划每隔几分钟拉一次广告,而我会达到 Facebook 的速率限制。
【问题讨论】:
标签: facebook facebook-graph-api facebook-php-sdk facebook-marketing-api
有许多端点可以帮助您执行此操作,但需要您进行多次 API 调用。
第一步:获取所有广告
假设您已设法从之前的 API 调用中获取广告帐户 ID,您将能够通过向 /act_{ad_account_id}/ads?fields=name 端点发出 GET 请求来获取针对该帐户运行的所有广告。
第二步:获取处于活动状态的图像
接下来,您可以为每个广告调用 /{ad_id}/adcreatives?fields=name,image_hash,status 端点,该端点将返回广告的名称、使用的图像哈希以及广告的状态。
如果您需要实际广告本身的状态而不是广告素材的状态,则需要在第一步和第二步之间再执行一步,在每个广告上调用/{ad_id}?fields=name,status,然后过滤@987654324 @ 广告系列。
编辑:
您可以使用/act_{ad_account_id}/adcreatives?fields=status,image_hash,title 获取与该帐户关联的所有广告素材和状态。这会降低您的 API 调用率,但意味着您需要对广告素材进行排序以与广告匹配。使用标题字段将给出它在广告中使用的广告的标题。 Facebook 不提供与广告本身相关的任何其他字段。
【讨论】:
act_{ad_account_id}/adcreatives?fields=status,image_hash,title 获取与该帐户关联的所有广告素材和状态。这会降低您的 API 调用率,但意味着您需要对广告素材进行排序以与广告匹配。使用title 字段将给出它在广告中使用的广告标题。 Facebook 不提供与广告本身相关的任何其他字段。
您可以将结果限制为有效状态为 ACTIVE 的广告。
这是一个示例请求:
act_123/ads?filtering=[{"field":"effective_status","operator":"IN","value":["PAUSED"]}]
【讨论】: