/** * Method to get all active adgroups from Facebook account */ private function get_active_adgroups() { $account = new AdAccount('act_' . self::$accountId); $adgroups = $account->getAds(array(AdFields::ID, AdFields::ADSET_ID, AdFields::EFFECTIVE_STATUS), array('limit' => 500)); $loopCount = 0; while (true) { $num = $adgroups->count(); $adgroups->fetchAfter(); if ($num == $adgroups->count() || $loopCount == 10) { break; } $loopCount = $loopCount + 1; } $finalAdgroups = []; foreach ($adgroups as $adgroup) { $adgroupData = (array) $adgroup->getData(); if ($adgroupData['effective_status'] != 'ACTIVE') { continue; } $adgroupObject = array('id' => $adgroupData['id'], 'adset_id' => $adgroupData['adset_id']); array_push($finalAdgroups, $adgroupObject); } return $finalAdgroups; }
/** * @param $accountId * @param array $fields * * @return Collection * * @see https://developers.facebook.com/docs/marketing-api/reference/adgroup#Reading */ public function getAds($accountId, $fields = []) { $account = new AdAccount($accountId); $ads = $account->getAds($fields); return $this->response($ads); }
/** * Method to get all active and paused adgroups from Facebook account */ private function get_adgroups() { $account = new AdAccount('act_' . self::$accountId); $adgroups = $account->getAds(array(AdFields::ID, AdFields::NAME, AdFields::CONFIGURED_STATUS, AdFields::EFFECTIVE_STATUS), array('limit' => 500)); $loopCount = 0; while (true) { $num = $adgroups->count(); $adgroups->fetchAfter(); if ($num == $adgroups->count() || $loopCount == 10) { break; } $loopCount = $loopCount + 1; } $finalAdgroups = []; foreach ($adgroups as $adgroup) { //if(count($tempAdgroups) > 5)continue; $adgroupData = (array) $adgroup->getData(); //DEBUG if ($adgroupData['id'] == '6038255178364') { self::$testAdgroup = array('id' => $adgroupData['id'], 'name' => $adgroupData['name'], 'configured_status' => $adgroupData['configured_status'], 'effective_status' => $adgroupData['effective_status']); } //only active campaigns if ($adgroupData['effective_status'] != 'ACTIVE' && $adgroupData['effective_status'] != 'PAUSED') { continue; } //only active or paused adsets if ($adgroupData['configured_status'] != 'ACTIVE' && $adgroupData['configured_status'] != 'PAUSED') { continue; } $adgroupObject = array('id' => $adgroupData['id'], 'name' => $adgroupData['name'], 'configured_status' => $adgroupData['configured_status'], 'effective_status' => $adgroupData['effective_status']); array_push($finalAdgroups, $adgroupObject); } return $finalAdgroups; }