2

我有一个大约 260 个广告系列 ID 的列表,我想获取每个广告系列 ID 的所有广告集数据。

我正在使用以下内容来请求一个广告系列 ID,但如果我在循环中运行它并很快达到我的用户请求限制。

$campaign = new AdCampaign($campaign_id);
$adsets = $campaign->getAdSets($fields);

我正在关注https://developers.facebook.com/docs/marketing-api/guides/chapter-6-ads-management#sets,目前正在使用他们的建议:

use FacebookAds\Object\AdCampaign;
use FacebookAds\Object\Fields\AdSetFields;

$fields = array(
  AdSetFields::NAME,
  AdSetFields::START_TIME,
  AdSetFields::END_TIME,
  AdSetFields::DAILY_BUDGET,
  AdSetFields::LIFETIME_BUDGET,
);

$campaign = new AdCampaign('<CAMPAIGN_GROUP_ID>');
$adsets = $campaign->getAdSets($fields);

提前致谢。

4

1 回答 1

1

使用 Facebook 的批量请求方法为每个活动请求字段https://developers.facebook.com/docs/graph-api/making-multiple-requests#multiple_methods

PHP Ads SDK 不支持使用其对象包装器的 FB 批处理请求,但您可以轻松地使用通用 API 包装器。例如:

$response = $api->call('/', 'POST', array('batch' => $json_string));

其中 $api 是 Facebook\Api 的一个实例,$json_string 是一个 JSON 编码的广告集字段批量操作请求数组。JSON 应类似于以下示例(使用 API 版本 2.4 和虚构的活动组 ID 1000001 和 1000002):

[
    { "method": "GET", 
      "relative_url":"v2.4/1000001?fields=name,start_time,end_time,daily_budget,lifetime_budget"
    },
    { "method": "GET", 
      "relative_url":"v2.4/1000002?fields=name,start_time,end_time,daily_budget,lifetime_budget"
    }
]
于 2015-09-11T19:33:14.687 回答