API маркетинга в Facebook - Объект с идентификатором не существует - PullRequest
0 голосов
/ 22 января 2019

Я начал с API маркетинга в Facebook сегодня. Я просто пытаюсь прочитать кампании из своей учетной записи Facebook Business. У меня есть рекламный аккаунт и созданная там кампания. Я полагаю, моя проблема с генерацией токена.

Я просто генерирую токен отсюда: https://developers.facebook.com/tools/explorer?classic=0

И ошибка, которую я получаю:

{ error:
      { message: 'Unsupported get request. Object with ID \'10xxxxxxxx\' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api',
        type: 'GraphMethodException',
        code: 100,
        error_subcode: 33,
        fbtrace_id: 'E5CAU6UvHwF' } }

Мой код Node.js:

const readCampaign = async (program) => {    
    const accessToken = TOKEN
    const api = adsSdk.FacebookAdsApi.init(accessToken)

    const account = new AdAccount('act_' + program.accountid)
    console.log('act_' + account.id) // fields can be accessed as properties
    let result
        account.read([AdAccount.Fields.name])
            .then((account) => {
                return account.getCampaigns([Campaign.Fields.name], { limit: 10 }) // fields array and params
            })
            .then((result) => {
                campaigns = result
                campaigns.forEach((campaign) => console.log(campaign.name))
            }).catch(console.error);

    console.log(result)
}

Чтобы сгенерировать токен, я выбираю созданное мной приложение «Получить токен доступа пользователя», а затем выбираю все возможные разрешения для этого - просто чтобы проверить это.

Что я делаю не так? Спасибо

1 Ответ

0 голосов
/ 09 марта 2019

Я подозреваю, что это связано с ошибкой разрешения.

Сначала я бы проверил, есть ли у вашего приложения доступ к той учетной записи, к которой вы пытаетесь получить доступ.

enter image description here

Тогда я бы предложил создать системного пользователя через вашего бизнес-менеджера (его можно найти в настройках бизнеса), назначить ему доступ к рекламным аккаунтам и использовать маркер системного пользователя при инициализации библиотеки.

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

Пользователь системы Facebook doc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...