Рекламные объявления в Facebook Marketing API - PullRequest
3 голосов
/ 28 мая 2019

У меня есть приложение Facebook с утвержденными разрешениями ads_read, manage_pages ads_management, business_management и Ads Management Standard Access.
Я могу создать рекламную кампанию, набор объявлений и загрузить ресурс в Facebook через Facebook MarketingAPI.

Но когда я пытаюсь создать рекламное объявление с запросом /adcreatives, я получаю сообщение об ошибке:

(# 3) Приложение не имеетвозможность сделать этот вызов API.

Пример curl запроса:

curl -X POST \
  'https://graph.facebook.com/v3.3/act_<account_id>/adcreatives?access_token=<access_token_here>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Host: graph.facebook.com' \
  -d 'call_to_action_type=USE_APP&actor_id=<page_id>&object_type=APPLICATION&status=active&name=hello&title=foo&page_id=<page_id>&id=act_<account id>&image_hash=fb1a69e0965076e791183ac82c9f7417'

Я пытался делать запросы с токеном приложения, токеном страницы и токеном пользователя(что было разрешено в FB Business Manager).
Я также пытался использовать учетную запись «песочницы» и ее маркер
Все сервисы (приложение, страница на Facebook и пользователь) связаны с бизнес-аккаунтом в Business Manager и имеют администратора (макс.)разрешения.

Я пытался отправить данные в теле с помощью запроса JSON, я пытался отправить данные как x-www-form-urlencoded.
Я пытался использовать простые запросы http и пыталсяс facebook-nodejs-business-sdk
Но все равно безуспешно.

Итак, вопрос в том, что такое правильный запрос создания AD Creative и какие разрешения нужны моему приложению для выполнения такой задачи?

PS Я также задал несколько вопросов на форуме разработчиков Facebook и не нашел решения. q1 , q2 , q3

1 Ответ

3 голосов
/ 03 июня 2019

Я полагаю, что ваш ввод неверен (хотя возвращенные ошибки из FB обычно никогда не указывают так много).

Основная проблема, которую я вижу, заключается в том, что информация о креативе не передается через параметр object_story_spec,Тип объявления, которое вы делаете, передается через этот объект вместе с необходимыми параметрами, которые в вашем случае будут photo_data.

curl -X POST \
  'https://graph.facebook.com/v3.3/act_<ACT_ID>/adcreatives?access_token=<TOKEN>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Host: graph.facebook.com' \
  -d 'link_url=<URL>&name=<CREATIVE_NAME>&object_type=PAGE&object_story_spec={page_id:<PAGE_ID>,photo_data:{image_hash:<HASH>,caption:<CAPTION>}}'

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

Что касается разрешений, вот что у меня было:

enter image description here

Некоторые дополнительные ссылки:
Ad Creative
Описание истории объекта
Данные фотографии

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