无法获取来自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; 
} 
+1

你有任何错误响应吗? – Tiger

+0

回声'$ U-> name'给我的账户持有人名称后面..之后完全空白..如果我做'的print_r(adsets)'它会返回一个多暗淡对象数组 –

试试看! 使用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);