Instagram Login: как получить Instagram app ID и secret
Instagram API with Instagram Login подключает профессиональный аккаунт Instagram (Business или Creator) без Facebook Page. Настраивается он внутри приложения Meta: в разделе Instagram → API setup with Instagram login берёте Instagram app ID и Instagram app secret — они отличаются от Meta App ID, — добавляете OAuth redirect URI, запрашиваете разрешения instagram_business_* и настраиваете вебхуки.
Обновлено:
Instagram Login или Facebook Login: что выбрать?
Если к аккаунту не привязана Facebook Page или нужен только Instagram — Instagram Login: профиль, медиа, публикации, комментарии, Direct и статистика. Если нужны ещё Facebook Pages, Lead Ads, реклама, поиск по хэштегам или отметки товаров — Facebook Login через Page: по документации Meta, в Instagram Login этих возможностей нет.
Оба способа работают только с профессиональными аккаунтами — к обычному личному аккаунту Instagram API доступа не даёт.
В одном продукте можно использовать оба: в кабинете Socialift это отдельные карточки — «Meta (Facebook) app» и «Instagram Login app».
Чем Instagram Login отличается от Facebook Login
| Instagram Login | Facebook Login (через Page) | |
|---|---|---|
| Facebook Page | Не нужна | Нужна: аккаунт Instagram привязан к Page |
| Какой ID | Instagram app ID | Meta App ID |
| Хост API | graph.instagram.com | graph.facebook.com |
| Токен | Instagram User token (долгоживущий — 60 дней, продлевается) | Facebook User или Page token |
| Разрешения | instagram_business_* | instagram_* + pages_* |
| Поиск по хэштегам, отметки товаров | Нет | Есть |
| Кабинет Socialift | «Kalitlar» → «Instagram Login app» | «Kalitlar» → «Meta (Facebook) app» |
| Python SDK | Instagram(app_id=..., app_secret=...) | Instagram.via_facebook(app_secret=...) |
Как настроить Instagram Login в дашборде Meta
Откройте приложение Meta со сценарием Instagram
На developers.facebook.com/apps создайте приложение и выберите сценарий Instagram («Manage messaging & content on Instagram») или добавьте его в совместимое существующее приложение. Затем в левом меню откройте Instagram → API setup with Instagram login. Названия кнопок могут меняться — цель попасть в этот раздел.
Скопируйте Instagram app ID и secret
Они находятся в «Set up Instagram business login» → Business login settings. Это НЕ Meta App ID и App Secret из App settings → Basic: по документации Meta, приложения с Business Login for Instagram используют именно Instagram app ID из этого раздела.
Добавьте OAuth redirect URI
В Business login settings добавьте адрес callback в список OAuth redirect URIs. Он должен в точности совпадать с
redirect_uriв запросе авторизации.Проверьте разрешения
Убедитесь, что в сценарии есть нужные разрешения
instagram_business_*(таблица ниже). Старые названия (business_basicи т. д.) устарели 27 января 2025 года — в коде должны быть новые.Протестируйте на своём аккаунте
На этой же странице можно добавить аккаунт Instagram, чтобы выпустить тестовый токен. При Standard Access приложение работает только с аккаунтами, которыми вы владеете или управляете, либо добавленными к приложению в App Dashboard.
Настройте вебхуки
В разделе вебхуков укажите Callback URL и Verify token, подтвердите, затем подпишитесь на поля
comments(упоминания приходят внутри этого события) иmessages. Требования Meta: приложение в режиме Live, дляcommentsнужен Advanced Access, аккаунт публичный, и для каждого аккаунта вызванPOST /me/subscribed_appsнаgraph.instagram.com.App Review и Business Verification
Чтобы подключать аккаунты, которыми вы не владеете и не управляете, получите Advanced Access через App Review; для Advanced Access требуется Business Verification.
Какие разрешения (scope) нужны?
Это стандартный список для карточки «Instagram Login app» в Socialift и для клиента Instagram(...).
| Разрешение | Что даёт | В SDK |
|---|---|---|
instagram_business_basic | Профиль и медиа профессионального аккаунта; обязательно и для продления токена | ig.profile, ig.media, ig.refresh_token |
instagram_business_content_publish | Публикация постов, каруселей и Reels | ig.publish, ig.publish_carousel |
instagram_business_manage_comments | Чтение, ответы, скрытие и удаление комментариев; вебхук comments | ig.comments, ig.reply_comment, ig.hide_comment |
instagram_business_manage_messages | Переписки Direct и отправка сообщений; вебхук messages | ig.conversations, ig.send_message |
instagram_business_manage_insights | Статистика аккаунта и медиа | ig.insights, ig.media_insights |
Условия продления токена (Meta): токену не меньше 24 часов, он ещё действует, и пользователь выдал instagram_business_basic. Токен, не продлённый за 60 дней, истекает.
Как подключить Instagram Login app к Socialift
«Kalitlar» → «Instagram Login app»
В кабинете откройте «Kalitlar» (ключи) и карточку «Instagram Login app». Redirect URI из блока «Konsolga ko'chiring» (скопируйте в консоль) вставьте в Business login settings → OAuth redirect URIs.
Введите ключи и проверьте
Заполните «Instagram app ID» и «Instagram app secret», поле «Scope'lar» необязательно (пусто = стандартный список). Нажмите «Saqlash va tekshirish» (сохранить и проверить): Socialift запросит у Meta app access token с этой парой и покажет результат в карточке.
Скопируйте адрес вебхука
После сохранения в карточке появятся Webhook URL, Webhook verify token, Deauthorize callback и Data deletion callback. Вставьте их в соответствующие поля дашборда Meta. Входящие события проверяются секретом из этой карточки.
Подключите аккаунт
В «Ulanishlar» (подключения) нажмите «Ulash» (подключить) на карточке «Instagram (Page'siz)». Аккаунт появится с типом business или creator, рядом виден срок токена, кнопка «Token'ni yangilash» (обновить токен) продлевает его.
Подпишите аккаунт на вебхуки
Socialift не подписывает аккаунты Instagram Login на
subscribed_appsавтоматически. Для каждого аккаунта один раз вызовитеPOST https://graph.instagram.com/v26.0/me/subscribed_apps?subscribed_fields=comments,messagesс токеном этого аккаунта.
Instagram Login в Python SDK
Instagram.from_env() читает INSTAGRAM_APP_ID, INSTAGRAM_APP_SECRET и META_GRAPH_VERSION.
import asyncio
import secrets
from socialift import Instagram
REDIRECT_URI = "https://example.com/auth/instagram/callback" # как в OAuth redirect URIs
async def main() -> None:
# INSTAGRAM_APP_ID, INSTAGRAM_APP_SECRET (не Meta App ID!), SOCIALIFT_LICENSE_KEY
async with Instagram.from_env() as ig:
state = secrets.token_urlsafe(32)
print(ig.login_url(redirect_uri=REDIRECT_URI, state=state))
code = input("code: ")
bundle = await ig.exchange_code(code, redirect_uri=REDIRECT_URI) # токен на 60 дней
profile = await ig.profile(bundle.access_token)
print(profile.username, bundle.expires_at)
asyncio.run(main())Явно: Instagram(app_id="...", app_secret="..."). Продлевайте токен раз в неделю через await ig.refresh_token(token).
Для аккаунта, подключённого через Page, используется Instagram.via_facebook(app_secret=...) и Page token.
Частые ошибки
- Для Instagram Login используются Meta App ID и App Secret — нужны Instagram app ID и secret.
- Redirect URI отличается от указанного в OAuth redirect URIs.
- Запрашиваются старые scope
business_*— новые называютсяinstagram_business_*. - Аккаунт не профессиональный (личный) — API к нему доступа не даёт.
- Вебхук настроен, но аккаунт не подписан через
/me/subscribed_appsили приложение не в Live. - Аккаунт закрытый — вебхуки комментариев и упоминаний не приходят.
- Токен не продлевали 60 дней, и он молча истёк.
Частые вопросы
Instagram app ID — это то же самое, что Facebook App ID?
Нет. Для Instagram Login используются Instagram app ID и Instagram app secret из раздела Instagram → API setup with Instagram login. Meta App ID и App Secret из App settings → Basic нужны для Facebook Login.
Нужна ли Facebook Page для Instagram Login?
Нет, в этом главное преимущество способа. Но аккаунт должен быть профессиональным (Business или Creator). Если нужны поиск по хэштегам, отметки товаров или реклама — подключайтесь через Facebook Login и Page.
Сколько живёт токен Instagram Login?
Короткоживущий токен обменивается на долгоживущий, который действует 60 дней. Продлить можно токен старше 24 часов, который ещё действует; без продления за 60 дней он истекает. В кабинете Socialift для этого есть кнопка «Token'ni yangilash» (обновить токен).
Почему не приходят вебхуки Instagram?
Проверьте: приложение в режиме Live, есть Advanced Access для comments, аккаунт публичный и подписан через POST /me/subscribed_apps.
Можно ли подключиться в Socialift без своего ключа?
Да, если настроен общий ключ Instagram Login от Socialift — в карточке будет «Socialift kaliti ishlatiladi» (используется ключ Socialift). Со своим ключом в окне входа показывается название вашего приложения, а вебхуки проверяются вашим секретом.