Facebook Ads Insights API: (# 3) Приложение не имеет возможности выполнить этот вызов API

#facebook #facebook-graph-api #authorization #alteryx

#Facebook #facebook-graph-api #авторизация #alteryx

Вопрос:

Я пытаюсь получить показатели Facebook Ads через Facebook Marketing API. Суть в том, что я хочу получить все идентификаторы учетных записей моей компании, а затем перебирать их, извлекая информацию для них по отдельности.

Однако у меня ошибка, которую я не могу решить / понять.

Когда я пытаюсь выполнить вызов API (как в Graph Explorer, так и в моем рабочем процессе Alteryx):

 GET-> /v2.8/act_<Account_ID>/insights
  

Я получаю следующую ошибку:

  "error": {
"message": "(#3) Application does not have the capability to make this API call.",
"type": "OAuthException",
"code": 3,
"fbtrace_id": "BNevVWUExDg"
}
  

Я должен признать, что я совершенно не понимаю, что вызывает эту ошибку…и на самом деле также точно, в чем проблема is…am Мне не хватает правильной области / разрешений для моего токена?

С тем же токеном я могу правильно вызвать API, чтобы получить список всех учетных записей ad ( GET-> /v2.8/me/adaccounts ).

У кого-нибудь есть идея, в чем может быть моя проблема?

Комментарии:

1. Я получаю это, когда я вхожу на localhost с Facebook Login JS SDK с моим тестовым приложением, затем получаю токен и пытаюсь прочитать свои собственные рекламные аккаунты. Они мои рекламные аккаунты, но, тем не менее, я получаю эту ошибку. Я не получаю эту ошибку при попытке с моим производственным приложением.

Ответ №1:

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

Это из Marketing API quickstart. https://developers.facebook.com/docs/marketing-apis

Для этих API также существуют ограничения скорости, но я бы ожидал другой ошибки, если бы это было так.

Комментарии:

1. У меня есть оба этих разрешения для токенов. Я запустил POST вместо GET на тех же конечных точках, что выдает мне еще одну ошибку о том, что я не являюсь администратором учетной записи.

2. Похоже, что пользователь, связанный с токеном (который является долговечным), имел доступ аналитика только к учетной записи в Business Manager. После того, как я изменил его на рекламодатель, кажется, я могу выполнить вызов GET

3. Итак, где вы устанавливаете эти разрешения?

Ответ №2:

Я запустил POST вместо GET на тех же конечных точках, что выдает мне еще одну ошибку о том, что я не являюсь администратором учетной записи.

Похоже, что пользователь, связанный с токеном (который является долговечным), имел доступ аналитика только к учетной записи в Business Manager. После того, как я изменил его на рекламодатель, кажется, я могу выполнить вызов GET.

Ответ №3:

В моем случае я добавил нового пользователя-разработчика на страницу ролей. Затем я пытался выполнить OAuth. Я получил сообщение об ошибке «Приложение не имеет возможности выполнить этот вызов API».

Вот способ, которым я решаю проблему, пока ваше приложение все еще находится в режиме разработки.

Перейдите в Marketing API> Tools, затем выберите, какие разрешения на токены вы хотите. Нажмите кнопку «Получить токен». Теперь вы можете попробовать снова выполнить OAuth.