Facebook 广告 API:ID 为“*****************”的对象不存在,由于缺少权限而无法加载
Facebook ads API : Object with ID '*****************' does not exist, cannot be loaded due to missing permissions
我正在处理 facebook 广告 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'];
您需要让您的APP获得Facebook的批准才能访问权限ads_management
它将在资源管理器上运行,因为它只是 FB 提供的用于测试和玩耍的工具。
您应该使用 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 广告 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'];
您需要让您的APP获得Facebook的批准才能访问权限ads_management
它将在资源管理器上运行,因为它只是 FB 提供的用于测试和玩耍的工具。
您应该使用 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);
按预期工作
希望对您有所帮助