API маркетинга в Facebook - Объект с идентификатором не существует
Я начал с Facebook Marketing API сегодня. Я просто пытаюсь прочитать кампании из своей учетной записи 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)
}
Чтобы сгенерировать токен, я выбираю созданное мной приложение "Получить токен доступа пользователя", а затем выбираю все возможные разрешения для этого - просто чтобы проверить это.
Что я делаю неправильно? Спасибо
0 ответов
Я подозреваю, что это связано с ошибкой разрешения.
Сначала я проверю, есть ли у вашего приложения доступ к той учетной записи, к которой вы пытаетесь получить доступ.
Затем я бы предложил создать системного пользователя через своего бизнес-менеджера (его можно найти в бизнес-настройках), назначить ему доступ к рекламным аккаунтам и использовать маркер системного пользователя при инициализации библиотеки.
Одним из больших преимуществ является то, что токен пользователей системы не имеет такого короткого срока действия.