Я получаю поля AdAccount просто отлично. Но все мои попытки получить рекламные объявления провалились. Я пытаюсь получить представление обо всех кампаниях, проводимых с использованием аккаунта. Но сначала я проверял, могу ли я получить только названия кампаний, но это не работает. Некоторые моменты, которые следует отметить.
* Я использовал id n secret из приложения (ничего не сделал для белого списка), зарегистрированного с использованием той же учетной записи, которая имеет доступ администратора к другой рекламной учетной записи (то есть основной рекламный аккаунт, для которого создаются все объявления).
* Я использовал токен временного доступа, созданный в графическом обозревателе с ads_read & разрешение ads_management.
*Get->v2.8->me?fields=adaccounts{campaigns{adsets{name}}}
выбирая имена совершенно нормально на проводнике.
include 'vendor/autoload.php';
use FacebookAds\Api;
Api::init(APP_ID, APP_SECRET, ACCESS_TOKEN);
$api = Api::instance();
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdAccountFields;
use FacebookAds\Object\Fields\AdSetFields;
$fields = array(
AdAccountFields::ID,
AdAccountFields::NAME
);
$account = new AdAccount('act_XXX');
$u=$account->read($fields);
echo $u->name.'<br>';
$adsets = $account->getAdSets(array(
AdSetFields::NAME
));
foreach ($adsets as $adset) {
echo $adset->name;
}
Попробуй это !
использовать FacebookAds \ Api;
Api::init($app_id, $app_secret, $access_token);
use FacebookAds\Object\Campaign;
use FacebookAds\Object\Fields\AdSetFields;
$account = new Campaign($campaign_id);
$objects = $account->getAdSets(array(
AdSetFields::NAME,
AdSetFields::ID,
AdSetFields::STATUS,
));
$objects->setUseImplicitFetch(true); // set this before loop
foreach ($objects as $object) {
if($object->{AdSetFields::STATUS}=='ACTIVE'){
$adset_id= $object->{AdSetFields::ID};
$name= $object->{AdSetFields::NAME};
$status = $object->{AdSetFields::STATUS};
$values[] = array(
'adset_id' => $adset_id,
'name' => $name,
'status' => $status,);
}
}
echo json_encode($values);
Других решений пока нет …