【问题标题】:How to make batch request for adset metrics如何批量请求广告集指标
【发布时间】:2015-12-07 12:29:27
【问题描述】:

我有一个包含大约 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);

提前致谢。

【问题讨论】:

    标签: php facebook batch-processing facebook-marketing-api


    【解决方案1】:

    使用 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 是 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"
        }
    ]
    

    【讨论】:

    • 我可能会感到困惑,但我如何传递多个 的?它们都将是 GET 请求,所以也许我有错误的想法并且不需要使用批处理请求?
    • 我更新了示例代码示例以在批处理请求中显示多个 GET 请求。如果此答案对您有用,如果您将其标记为已接受,我将不胜感激。
    • FB Ads SDK for PHP 现在支持批量请求,这里是一个例子developers.facebook.com/docs/php/howto/example_batch_request
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多