我正在研究facebook ads API(3.2)但我得到了一些奇怪的错误。我试图得到campaigns
以下是根据文档Here我正在使用的方法
public function getcampaigns() {
$adaccount = new AdAccount('331*****10774');
$campaigns = $adaccount->getCampaigns();
print_r($campaigns);
}
然后我尝试与Explorer相同的access_token
,它运作良好。
我在access_token
中提供以下权限
$this->permissions = ['email', 'ads_management', 'pages_show_list', 'publish_pages', 'manage_pages', 'ads_read', 'business_management'];
你应该用act_
字符串作为前缀,所以
试试这个:
$adaccount = new AdAccount('act_331*****10774');
而不是这个:
$adaccount = new AdAccount('331*****10774');
另外,如果你测试example:
use FacebookAds\Object\AdAccount;
use FacebookAds\Api;
use FacebookAds\Logger\CurlLogger;
$id = 'act_XXXX';
$api = Api::init($app_id, $app_secret, $access_token);
$api->setLogger(new CurlLogger());
$fields = array(
'name',
'objective',
);
$params = array(
'effective_status' => array('ACTIVE','PAUSED'),
);
echo json_encode((new AdAccount($id))->getCampaigns(
$fields,
$params
)->getResponse()->getContent(), JSON_PRETTY_PRINT);
按预期工作
希望这有帮助
您需要获得Facebook批准的APP才能访问ads_management权限
它将适用于资源管理器,因为它只是FB提供的测试和游戏工具。