Facebook Graph API php запрос cURL возвращает частичные данные для AdCreative, несмотря на достаточное разрешение (ошибка не указана) - PullRequest
0 голосов
/ 19 июня 2020

Я работаю над веб-приложением на основе PHP, которое будет использоваться тремя членами команды моего агентства для внутреннего использования для чтения данных кампании и рекламы. В идеале из соображений безопасности в инструменте никогда не будет возможности редактировать рекламу. Думаю, это сравнительно простой инструмент. Поэтому я выбрал запросы cURL вместо использования PHP Business SDK.

Приложение находится в режиме «В разработке», и к нему имеет доступ системный пользователь в Business Manager, чьи права доступа к токену:

  • read_insights
  • ads_read
  • pages_read_engagement

Системному пользователю предоставлен доступ к следующим ресурсам:

The Ad Account. Permissions granted: View Performance
The Page. Permissions granted: View Page Performance

С этими настройками приложение может извлекать почти все необходимое для просмотра информации, которая нам нужна для наших кампаний / наборов объявлений / объявлений. Я очень горжусь этим. Но есть только одна проблема. Кажется, я не могу получить целевой URL для любых объявлений через какие-либо запросы API.

Насколько я понимаю, мне нужно запросить AdCreative объявления.

С запросами php cURL, например это:

<code>$access_token = "REDACTED";
$app_secret = "REDACTED";
$appsecret_proof = hash_hmac('sha256', $access_token, $app_secret);
$handle = curl_init();

$url = "https://graph.facebook.com/v7.0/23845023771530707?fields=object_story_spec,thumbnail_url,link_url,call_to_action_type&access_token=$access_token&appsecret_proof=$appsecret_proof";


curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($handle);
curl_close($handle);

$result = json_decode($output,true);
echo "<pre>";print_r($result);echo "
";

Я получаю следующий результат:

Array
(
    [object_story_spec] => Array
        (
            [page_id] => 104422504276761
        )

    [thumbnail_url] => https://external.xx.fbcdn.net/safe_image.php?d=AQCP_C2YI....Shortened here for clarity of this post
    [id] => 23845023771530707
)

Короче говоря, кажется, заполняется только половина полей. Мне действительно нужно чтобы получить конечный целевой URL объявления. Я не получаю поля link_url или call_to_action_type, которые я запрашивал.: (

Итак, меня интересуют такие вещи, как ...

  1. Я ошибаюсь? AdCreative - неправильный способ запросить эту информацию?
  2. У меня почему-то все еще не хватает разрешений?
  3. Я не могу получить эти поля, потому что приложение все еще ' В разработке? Нужно ли мне отправлять приложение на проверку?

Извините, здесь несколько вопросов, сведенных в один пост.

1 Ответ

1 голос
/ 03 августа 2020

Поле object_story_spec в объекте объявления присутствует только в том случае, если объявление создало новую публикацию на странице publi sh. Его не будет, если объявление было создано со ссылкой на существующую публикацию на странице.

К счастью, ссылка на созданную / указанную публикацию страницы effective_object_story_id должна существовать в каждом рекламном объявлении.

Вы можете запросить страницу-сообщение через /{effective_object_story_id}?fields=..., чтобы найти данные, которые в противном случае существовали бы в object_story_spec.

ad-creative: https://developers.facebook.com/docs/marketing-api/reference/ad-creative

страница-сообщение: https://developers.facebook.com/docs/graph-api/reference/page-post

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