无法获取来自Facebook广告API(PHP v2.8.1)
问题描述:
我得到AdAccount场就好了任何adset领域。但是,我所有试图获取广告的尝试都是失败的。我正在尝试获取在adaccount下运行的所有广告系列的见解。但首先,我正在测试是否只能获取广告系列名称,但它不起作用。有些观点需要注意。无法获取来自Facebook广告API(PHP v2.8.1)
*我从一个应用程序使用ID N秘密(什么也没做的白名单)使用具有其他广告帐户拥有管理员权限(即针对其创建的所有广告主adAcount)相同的帐户注册。
*我已经使用利用图探险与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::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);
你有任何错误响应吗? – Tiger
回声'$ U-> name'给我的账户持有人名称后面..之后完全空白..如果我做'的print_r(adsets)'它会返回一个多暗淡对象数组 –