繁体   English   中英

Facebook ads API:ID为'*****************'的对象不存在,由于缺少权限而无法加载

[英]Facebook ads API : Object with ID '*****************' does not exist, cannot be loaded due to missing permissions

我正在使用facebook ads API(3.2),但出现一些奇怪的错误。 我正在尝试获取campaigns ,以下是根据文档此处用于此目的的方法

public function getcampaigns() {
   $adaccount = new AdAccount('331*****10774');
   $campaigns = $adaccount->getCampaigns();
   print_r($campaigns);
}

但是我得到了错误 在此处输入图片说明

然后,我使用具有相同access_token Explorer进行尝试,并且效果很好。 在此处输入图片说明

我在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');

另外,如果您测试示例

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提供的用于测试和玩耍的工具,所以它将在Explorer上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM