Fb Ads api Как активировать только FB кампании?

Я пытаюсь получить список кампаний из Facebook Ads API, который я использую ниже код

        $account = new AdAccount('act_' . $account_id);
        $campaignSets = $account->getCampaigns(array(
            CampaignFields::ID,
            CampaignFields::NAME,
            CampaignFields::START_TIME,
            CampaignFields::STOP_TIME,
            CampaignFields::SPEND_CAP,
            'effective_status'
                ));

Но мне нужен только список активных кампаний, так как я могу отфильтровать список по Camapign Status = только Active

Спасибо, Ронак Шах

2 ответа

Если вы проверите объявление метода для AdAccount->getCampaigns, вы увидите, что он принимает два параметра $fields а также $params, $fields для полей, которые вы хотите получить, и $params в качестве фильтра. Пример в вашем случае (протестирован с v2.5):-

$account = new AdAccount('act_' . $account_id);

$fields = array(
    CampaignFields::ID,
    CampaignFields::NAME,
    CampaignFields::START_TIME,
    CampaignFields::STOP_TIME,
    CampaignFields::SPEND_CAP,
    'effective_status'
);

$params = array(
    'effective_status' => array(
        Campaign::STATUS_ACTIVE
    ),
);

$campaignSets = $account->getCampaigns($fields, $params);

Надеюсь это поможет!:)

Я могу показать вам, как этого добиться, используя сырой REST-API (я решил не использовать излишне извилистый SDK (Python) от FB).

https://graph.facebook.com/v2.11/act_99999999999999/campaigns?status=["ACTIVE", "PAUSED", "ARCHIVED", "PENDING_REVIEW", "DISAPPROVED", "PREAPPROVED", "PENDING_BILLING_INFO", " CAMPAIGN_PAUSED "," ARCHIVED "," ADSET_PAUSED "] & format = json & method = get & pretty = 1 & limit = 250 & fields = field1, field2 & time_range = {" since ":" 2017-11-01 "," till": "2017-12-05"}&access_token=XXX

Ключ здесь status=[] ПОЛУЧИТЬ параметр.

Другие вопросы по тегам