НейроАгент

Как получить количество подписчиков Instagram Business с помощью Meta API

Полное руководство по получению количества подписчиков аккаунта Instagram Business с помощью Meta Graph API. Узнайте правильные конечные точки, необходимые разрешения и пошаговую реализацию с примерами кода.

Вопрос

Как получить количество подписчиков коммерческого аккаунта Instagram с помощью Meta Graph API?

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

Это запрос, который я попробовал:

https://graph.facebook.com/v17.0/{page_id}?fields=followers_count&access_token={ACCESS_TOKEN}

Но в ответе возвращается ошибка:

(#100) Tried accessing nonexisting field (followers_count)

Я также проверил /me/accounts и могу подтвердить, что Страница связана с правильным коммерческим аккаунтом Instagram.

Что я хочу:
Правильно получить количество подписчиков Instagram аккаунта.

Конкретные вопросы:

  1. Какой API-эндпоинт следует использовать для запроса инсайтов Instagram?
  2. Требуются ли дополнительные разрешения (например, instagram_basic или pages_show_list)?
  3. Нужно ли сначала получить ID instagram_business_account со Страницы перед запросом метрик?
НейроАгент

Чтобы получить количество подписчиков бизнес-аккаунта Instagram с помощью Meta Graph API, необходимо использовать конечную точку Business Discovery, а не пытаться получить доступ к followers_count непосредственно на странице Facebook. Ошибка, с которой вы столкнулись, возникает потому, что объект Facebook Page не имеет поля followers_count - метрики Instagram требуют другого подхода.

Содержание

Конечная точка API Business Discovery

Правильная конечная точка для получения количества подписчиков бизнес-аккаунта Instagram использует API Business Discovery. Согласно официальной документации Meta, вам нужно структурировать ваш запрос следующим образом:

https://graph.facebook.com/v17.0/{instagram_business_account_id}?fields=business_discovery.username({instagram_username}){followers_count,media_count}

Основные моменты:

  • Замените {instagram_business_account_id} на ID вашего бизнес-аккаунта Instagram
  • Замените {instagram_username} на целевое имя пользователя Instagram
  • Поле business_discovery позволяет запрашивать внешние бизнес-аккаунты Instagram
  • Вы можете указать несколько полей, таких как followers_count, media_count и т.д.

Необходимые разрешения и настройка

Да, вам нужны определенные разрешения и настройка:

  1. Требования к токену доступа:

    • Ваш токен доступа должен иметь разрешение pages_show_list
    • Вам нужно разрешение instagram_basic для доступа к специфичным для Instagram данным
    • Токен должен быть сгенерирован пользователем с доступом к Business Manager
  2. Связывание аккаунтов:

    • Ваша страница Facebook должна быть связана с бизнес-аккаунтом Instagram
    • Вам нужно быть администратором бизнеса связанной страницы Facebook
  3. Проверка токена:

    • Токены доступа истекают (обычно через 60 дней)
    • Вам нужно проверить, что токен имеет необходимые области действия (scopes)

Пошаговая реализация

Шаг 1: Получение ID бизнес-аккаунта Instagram со страницы Facebook

Сначала получите ID бизнес-аккаунта Instagram со связанной страницы Facebook:

https://graph.facebook.com/v17.0/{page_id}?fields=instagram_business_account&access_token={ACCESS_TOKEN}

Шаг 2: Использование API Business Discovery

Как только у вас есть ID бизнес-аккаунта Instagram, используйте его для запроса целевого аккаунта Instagram:

https://graph.facebook.com/v17.0/{instagram_business_account_id}?fields=business_discovery.username({target_username}){followers_count,media_count}&access_token={ACCESS_TOKEN}

Шаг 3: Разбор ответа

Успешный ответ будет включать в себя:

json
{
  "business_discovery": {
    "followers_count": 267793,
    "media_count": 1205,
    "id": "17841401441775531"
  },
  "id": "17841405309211844"
}

Изменения в полях и важные замечания

Важные изменения в названиях полей:

  • Поскольку Meta обновила свой API, названия полей были стандартизированы:
    • follow_countfollows_count
    • followed_by_countfollowers_count
    • profile_picprofile_picture_url

Ограничения по типу аккаунта:

  • Instagram Graph API работает только с бизнес-аккаунтами и аккаунтами создателей (Creator)
  • Потребительские (личные) аккаунты Instagram недоступны через этот API
  • У вас должно быть имя пользователя целевого аккаунта для использования Business Discovery

Устранение ошибок

Распространенные ошибки и решения:

  1. (#100) Попытка доступа к несуществующему полю (followers_count)

    • Причина: Попытка получить доступ к followers_count непосредственно на объекте Facebook Page
    • Решение: Вместо этого используйте API Business Discovery
  2. (#200) Пользователь не авторизовал приложение для выполнения этого действия

    • Причина: Отсутствуют необходимые разрешения
    • Решение: Убедитесь, что ваш токен доступа имеет разрешения pages_show_list и instagram_basic
  3. (#100) Недопустимый ID бизнес-аккаунта Instagram

    • Причина: Неверный ID бизнес-аккаунта Instagram
    • Решение: Проверьте ID, сначала запросив вашу страницу Facebook
  4. (#100) Недопустимый параметр

    • Причина: Некорректное имя пользователя в поле business_discovery
    • Решение: Убедитесь, что имя пользователя не включает символ @ и не зависит от регистра

Полный пример

Вот полный рабочий пример:

Шаг 1: Получение ID бизнес-аккаунта Instagram

GET https://graph.facebook.com/v17.0/YOUR_PAGE_ID?fields=instagram_business_account&access_token=YOUR_ACCESS_TOKEN

Шаг 2: Получение количества подписчиков Instagram

GET https://graph.facebook.com/v17.0/YOUR_INSTAGRAM_BUSINESS_ACCOUNT_ID?fields=business_discovery.username(target_instagram_username){followers_count,media_count}&access_token=YOUR_ACCESS_TOKEN

Ответ:

json
{
  "business_discovery": {
    "followers_count": 123456,
    "media_count": 789,
    "id": "INSTAGRAM_ACCOUNT_ID"
  },
  "id": "YOUR_INSTAGRAM_BUSINESS_ACCOUNT_ID"
}

Альтернативный подход - использование ID страницы напрямую:
Вы также можете объединить эти шаги в один запрос, используя ID вашей страницы напрямую:

GET https://graph.facebook.com/v17.0/YOUR_PAGE_ID?fields=instagram_business_account{business_discovery.username(target_username){followers_count,media_count}}&access_token=YOUR_ACCESS_TOKEN

Этот подход устраняет необходимость в отдельном API-запросе для получения ID бизнес-аккаунта Instagram.

Не забудьте заменить все плейсхолдеры на ваши реальные значения и убедитесь, что ваш токен доступа имеет необходимые разрешения перед выполнением API-запросов.

Источники

  1. Официальная документация разработчиков Facebook - API Business Discovery
  2. Ficode - Использование Instagram Graph API для доступа к подписчикам бизнес-аккаунта
  3. Meta упрощает интеграции Instagram и маркетингового API
  4. Stack Overflow - Instagram Graph API получение подписчиков
  5. Jamie Maguire - Аналитика Instagram Graph API
  6. GitHub - Meta API получение данных Instagram

Заключение

Чтобы успешно получить количество подписчиков бизнес-аккаунта Instagram с помощью Meta Graph API:

  1. Используйте конечную точку API Business Discovery с правильной структурой: business_discovery.username({username}){followers_count}
  2. Убедитесь, что у вас есть необходимые разрешения, включая pages_show_list и instagram_basic для вашего токена доступа
  3. Сначала получите ID бизнес-аккаунта Instagram со связанной страницы Facebook, затем используйте его в вызове API Business Discovery

Ключевым моментом является понимание того, что метрики Instagram доступны через конечную точку Business Discovery, а не непосредственно через объект Facebook Page. Этот подход позволяет получать количество подписчиков, количество медиа и другие специфичные для Instagram метрики для бизнес-аккаунтов и аккаунтов создателей.

Для постоянного мониторинга рассмотрите возможность реализации логики обновления токена, поскольку токены доступа обычно истекают каждые 60 дней, и создайте правильную обработку ошибок для лимитов скорости API и проблем с разрешениями.