API объявлений Facebook: объект с идентификатором «*****************» не существует, не может быть загружен из-за отсутствия разрешений - PullRequest
0 голосов
/ 03 декабря 2018

Я работаю над API рекламы на Facebook (3.2), но получаю некоторые странные ошибки.Я пытаюсь получить campaigns И следующий метод, который я использую для этого в соответствии с документацией Здесь

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

Но я получаю ошибку enter image description here

Затем я пробую это с Explorer с тем же access_token, и это сработало хорошо.enter image description here

Я даю следующие разрешения в access_token

$this->permissions = ['email', 'ads_management', 'pages_show_list', 'publish_pages', 'manage_pages', 'ads_read', 'business_management'];

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Вы должны добавить префикс к строке 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);

Работает, как ожидалось

Надеюсь, эта помощь

0 голосов
/ 03 декабря 2018

Вам необходимо получить одобренное приложение Facebook для доступа к разрешению. ads_management

Оно будет работать в проводнике, поскольку это всего лишь инструмент, предоставленный FB для тестирования и игры.

...