Как получить количество подписчиков коммерческого аккаунта 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 аккаунта.
Конкретные вопросы:
- Какой API-эндпоинт следует использовать для запроса инсайтов Instagram?
- Требуются ли дополнительные разрешения (например,
instagram_basicилиpages_show_list)? - Нужно ли сначала получить ID
instagram_business_accountсо Страницы перед запросом метрик?
Чтобы получить количество подписчиков бизнес-аккаунта Instagram с помощью Meta Graph API, необходимо использовать конечную точку Business Discovery, а не пытаться получить доступ к followers_count непосредственно на странице Facebook. Ошибка, с которой вы столкнулись, возникает потому, что объект Facebook Page не имеет поля followers_count - метрики Instagram требуют другого подхода.
Содержание
- Конечная точка API Business Discovery
- Необходимые разрешения и настройка
- Пошаговая реализация
- Изменения в полях и важные замечания
- Устранение ошибок
- Полный пример
Конечная точка 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и т.д.
Необходимые разрешения и настройка
Да, вам нужны определенные разрешения и настройка:
-
Требования к токену доступа:
- Ваш токен доступа должен иметь разрешение
pages_show_list - Вам нужно разрешение
instagram_basicдля доступа к специфичным для Instagram данным - Токен должен быть сгенерирован пользователем с доступом к Business Manager
- Ваш токен доступа должен иметь разрешение
-
Связывание аккаунтов:
- Ваша страница Facebook должна быть связана с бизнес-аккаунтом Instagram
- Вам нужно быть администратором бизнеса связанной страницы Facebook
-
Проверка токена:
- Токены доступа истекают (обычно через 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: Разбор ответа
Успешный ответ будет включать в себя:
{
"business_discovery": {
"followers_count": 267793,
"media_count": 1205,
"id": "17841401441775531"
},
"id": "17841405309211844"
}
Изменения в полях и важные замечания
Важные изменения в названиях полей:
- Поскольку Meta обновила свой API, названия полей были стандартизированы:
follow_count→follows_countfollowed_by_count→followers_countprofile_pic→profile_picture_url
Ограничения по типу аккаунта:
- Instagram Graph API работает только с бизнес-аккаунтами и аккаунтами создателей (Creator)
- Потребительские (личные) аккаунты Instagram недоступны через этот API
- У вас должно быть имя пользователя целевого аккаунта для использования Business Discovery
Устранение ошибок
Распространенные ошибки и решения:
-
(#100) Попытка доступа к несуществующему полю (followers_count)- Причина: Попытка получить доступ к followers_count непосредственно на объекте Facebook Page
- Решение: Вместо этого используйте API Business Discovery
-
(#200) Пользователь не авторизовал приложение для выполнения этого действия- Причина: Отсутствуют необходимые разрешения
- Решение: Убедитесь, что ваш токен доступа имеет разрешения
pages_show_listиinstagram_basic
-
(#100) Недопустимый ID бизнес-аккаунта Instagram- Причина: Неверный ID бизнес-аккаунта Instagram
- Решение: Проверьте ID, сначала запросив вашу страницу Facebook
-
(#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
Ответ:
{
"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-запросов.
Источники
- Официальная документация разработчиков Facebook - API Business Discovery
- Ficode - Использование Instagram Graph API для доступа к подписчикам бизнес-аккаунта
- Meta упрощает интеграции Instagram и маркетингового API
- Stack Overflow - Instagram Graph API получение подписчиков
- Jamie Maguire - Аналитика Instagram Graph API
- GitHub - Meta API получение данных Instagram
Заключение
Чтобы успешно получить количество подписчиков бизнес-аккаунта Instagram с помощью Meta Graph API:
- Используйте конечную точку API Business Discovery с правильной структурой:
business_discovery.username({username}){followers_count} - Убедитесь, что у вас есть необходимые разрешения, включая
pages_show_listиinstagram_basicдля вашего токена доступа - Сначала получите ID бизнес-аккаунта Instagram со связанной страницы Facebook, затем используйте его в вызове API Business Discovery
Ключевым моментом является понимание того, что метрики Instagram доступны через конечную точку Business Discovery, а не непосредственно через объект Facebook Page. Этот подход позволяет получать количество подписчиков, количество медиа и другие специфичные для Instagram метрики для бизнес-аккаунтов и аккаунтов создателей.
Для постоянного мониторинга рассмотрите возможность реализации логики обновления токена, поскольку токены доступа обычно истекают каждые 60 дней, и создайте правильную обработку ошибок для лимитов скорости API и проблем с разрешениями.