/** * Method to get all active and paused campaigns from Facebook account */ private function get_campaigns() { $account = new AdAccount('act_' . self::$accountId); $campaigns = $account->getCampaigns(array(CampaignFields::ID, CampaignFields::NAME, CampaignFields::CONFIGURED_STATUS, CampaignFields::EFFECTIVE_STATUS), array('limit' => 500)); $loopCount = 0; while (true) { $num = $campaigns->count(); $campaigns->fetchAfter(); if ($num == $campaigns->count() || $loopCount == 10) { break; } $loopCount = $loopCount + 1; } $finalCampaigns = []; foreach ($campaigns as $campaign) { $campaignData = (array) $campaign->getData(); //DEBUG if ($campaignData['id'] == '6038255171564') { self::$testCampaign = array('id' => $campaignData['id'], 'name' => $campaignData['name'], 'configured_status' => $campaignData['configured_status'], 'effective_status' => $campaignData['effective_status']); } //only active campaigns if ($campaignData['effective_status'] != 'ACTIVE' && $campaignData['effective_status'] != 'PAUSED') { continue; } //only active or paused adsets if ($campaignData['configured_status'] != 'ACTIVE' && $campaignData['configured_status'] != 'PAUSED') { continue; } $campaignObject = array('id' => $campaignData['id'], 'name' => $campaignData['name'], 'configured_status' => $campaignData['configured_status'], 'effective_status' => $campaignData['effective_status']); array_push($finalCampaigns, $campaignObject); } return $finalCampaigns; }