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=[]
ПОЛУЧИТЬ параметр.