如何从 Facebook 广告中读取受保护的数据 API / PHP SDK

How to read Protected data from Facebook ads API / PHP SDK

我收到了从 API 调用 Facebook 广告返回的受保护对象。

我正在与

通话
$campaigns = $account->getAdCampaigns($fields, $params);

并且帐户 class 没有任何读取受保护数据的方法。

FacebookAds\Cursor Object
(
    [response:protected] => FacebookAds\Http\Response Object
        (
            [content:protected] => Array
                (
                    [data] => Array
                        (
                            [0] => Array
                                (
                                    [name] => <campaign_name>
                                    [objective] => WEBSITE_CLICKS
                                    [id] => <campaign_id>
                                )

                )

        )

我需要创建这个功能吗? SDK 没有这个功能似乎很奇怪。

试试这个!

use FacebookAds\Api;

Api::init($app_id, $app_secret, $access_token);

use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\CampaignFields;


 $account = new AdAccount('act_'.$act_id);

 $objects = $account->getCampaigns(array(
 CampaignFields::NAME,
 CampaignFields::ID,
 CampaignFields::STATUS,

 ));

 $objects->setUseImplicitFetch(true); // set this before loop
 foreach ($objects as $object) {
 if($object->{CampaignFields::STATUS }=='ACTIVE'){

    $campaign_id= $object->{CampaignFields::ID};
    $name= $object->{CampaignFields::NAME};
    $status = $object->{CampaignFields::STATUS};
    $values[] = array(
    'campaign_id' => $campaign_id,
    'name' => $name,
    'status' => $status,

   );
    }
  }
 echo json_encode($values);