Вопрос или проблема
Я работаю над проектом, в котором мне нужно получать и хранить информацию о пользователях Instagram через API. В частности, мне нужны следующие данные:
ID
Имя пользователя
Количество подписчиков
Количество подписок
Фото профиля
Количество медиа
Биография
Подтверждена ли учетная запись
Является ли учетная запись закрытой
Проблема, с которой я сталкиваюсь, заключается в том, что Instagram Basic Display API предоставляет только мои собственные данные. Он не позволяет мне получать подробную информацию о других пользователях.
Ответ или решение
Для успешного извлечения информации о пользователях Instagram, такой как ID, количество подписчиков, количество медиапостов и другие данные, необходимо использовать Instagram Graph API, который предоставляет более расширенный доступ к данным о пользователях. Однако важно отметить, что доступ к информации о других пользователях ограничен, и для этого вам потребуется разрешение от владельца аккаунта.
Шаги по получению информации о пользователе Instagram:
-
Создание приложения в Facebook Developer:
- Вам необходимо зарегистрироваться на Facebook for Developers и создать новое приложение. Instagram является частью Facebook, и все API запросы должны выполняться через платформу Facebook.
-
Настройка Instagram Graph API:
- После создания приложения включите Instagram Graph API в разделе "Add a Product" вашего приложения на Facebook Developer.
- Пройдите через процесс настройки, который включает привязку вашего Instagram Business аккаунта.
-
Получение токена доступа:
- Вам нужен токен для доступа к API. Используйте OAuth 2.0 для аутентификации и получения токена доступа. Вы можете получить длинный токен доступа (Long-Lived Token) для бесконечного использования.
-
Запрос информации о пользователе:
- Используйте следующий конечный путь (endpoint) для получения информации о пользователе:
GET https://graph.instagram.com/{user-id}?fields=id,username,followers_count,follows_count,media_count,profile_picture_url,biography,is_verified,is_private&access_token={access-token}
- Здесь
{user-id}
— это идентификатор целевого пользователя, а{access-token}
— ваш токен доступа.
- Используйте следующий конечный путь (endpoint) для получения информации о пользователе:
-
Возможные ограничения и требования:
- Информация об аккаунте: Вы можете получать информацию только для бизнес-аккаунтов или учетных записей, которые предоставили разрешение вашему приложению. Личные аккаунты недоступны для получения данных.
- Согласие пользователя: Вам нужно получить согласие владельца учетной записи на доступ к его данным через OAuth 2.0.
- Лимиты API: Следите за лимитами запросов Graph API и корректируйте частоту запросов, чтобы избежать блокировок.
Пример запроса:
Пример кода на Python с использованием библиотеки requests
для получения информации о пользователе:
import requests
access_token = 'ВАШ_ТОКЕН_ДОСТУПА'
user_id = 'ИДЕНТИФИКАТОР_ПОЛЬЗОВАТЕЛЯ'
url = f'https://graph.instagram.com/{user_id}?fields=id,username,followers_count,follows_count,media_count,profile_picture_url,biography,is_verified,is_private&access_token={access_token}'
response = requests.get(url)
if response.status_code == 200:
user_info = response.json()
print(user_info)
else:
print(f'Ошибка: {response.status_code}, {response.text}')
Заключение
Получение информации о пользователях Instagram через API — это мощный инструмент для анализа и взаимодействия с данными в социальных сетях. Помните о необходимости соблюдать правила конфиденциальности и использования данных. Используйте Instagram Graph API для доступа только к разрешенным данным и учитывайте изменения в политике Instagram, которые могут значительно влиять на доступ к данным пользователей.
Таким образом, с приведенными выше шагами вы сможете успешно интегрировать функциональность извлечения данных Instagram в ваш проект, сохраняя при этом соответствие всем требованиям платформы.