如何为广告投放指标批量请求
问题描述:
我有一个约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);
感谢。
答
使用Facebook的批量请求方法,请求栏的所有活动https://developers.facebook.com/docs/graph-api/making-multiple-requests#multiple_methods
的PHP Ads SDK does not support FB batch requests using its object wrappers,但你可以使用一般的API的包装很轻松了。例如:
$response = $api->call('/', 'POST', array('batch' => $json_string));
其中$ API是实\阿比的一个实例,$ json_string为adset字段间歇操作的请求的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"
}
]
我可能会感到困惑,但我怎么通过在多个的?他们都将是GET请求,所以也许我有错误的想法,不需要使用批量请求? –
Stretch0
我更新了示例代码示例以在批处理请求中显示多个GET请求。如果这个答案适合你,我会很感激,如果你把它标记为接受。 – bjeavons
用于PHP的FB Ads SDK现在支持批量请求,这里是一个示例https://developers.facebook.com/docs/php/howto/example_batch_request – bjeavons