Перейти к содержимому
Socialift
Разделы документации
Настройка

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 — Таблица возможностей по платформам
Instagram LoginFacebook Login (через Page)
Facebook PageНе нужнаНужна: аккаунт Instagram привязан к Page
Какой IDInstagram app IDMeta App ID
Хост APIgraph.instagram.comgraph.facebook.com
ТокенInstagram User token (долгоживущий — 60 дней, продлевается)Facebook User или Page token
Разрешенияinstagram_business_*instagram_* + pages_*
Поиск по хэштегам, отметки товаровНетЕсть
Кабинет Socialift«Kalitlar» → «Instagram Login app»«Kalitlar» → «Meta (Facebook) app»
Python SDKInstagram(app_id=..., app_secret=...)Instagram.via_facebook(app_secret=...)

Как настроить Instagram Login в дашборде Meta

  1. Откройте приложение Meta со сценарием Instagram

    На developers.facebook.com/apps создайте приложение и выберите сценарий Instagram («Manage messaging & content on Instagram») или добавьте его в совместимое существующее приложение. Затем в левом меню откройте Instagram → API setup with Instagram login. Названия кнопок могут меняться — цель попасть в этот раздел.

  2. Скопируйте 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 из этого раздела.

  3. Добавьте OAuth redirect URI

    В Business login settings добавьте адрес callback в список OAuth redirect URIs. Он должен в точности совпадать с redirect_uri в запросе авторизации.

  4. Проверьте разрешения

    Убедитесь, что в сценарии есть нужные разрешения instagram_business_* (таблица ниже). Старые названия (business_basic и т. д.) устарели 27 января 2025 года — в коде должны быть новые.

  5. Протестируйте на своём аккаунте

    На этой же странице можно добавить аккаунт Instagram, чтобы выпустить тестовый токен. При Standard Access приложение работает только с аккаунтами, которыми вы владеете или управляете, либо добавленными к приложению в App Dashboard.

  6. Настройте вебхуки

    В разделе вебхуков укажите Callback URL и Verify token, подтвердите, затем подпишитесь на поля comments (упоминания приходят внутри этого события) и messages. Требования Meta: приложение в режиме Live, для comments нужен Advanced Access, аккаунт публичный, и для каждого аккаунта вызван POST /me/subscribed_apps на graph.instagram.com.

  7. App Review и Business Verification

    Чтобы подключать аккаунты, которыми вы не владеете и не управляете, получите Advanced Access через App Review; для Advanced Access требуется Business Verification.

Какие разрешения (scope) нужны?

Это стандартный список для карточки «Instagram Login app» в Socialift и для клиента Instagram(...).

Какие разрешения (scope) нужны? — Таблица возможностей по платформам
РазрешениеЧто даётВ SDK
instagram_business_basicПрофиль и медиа профессионального аккаунта; обязательно и для продления токенаig.profile, ig.media, ig.refresh_token
instagram_business_content_publishПубликация постов, каруселей и Reelsig.publish, ig.publish_carousel
instagram_business_manage_commentsЧтение, ответы, скрытие и удаление комментариев; вебхук commentsig.comments, ig.reply_comment, ig.hide_comment
instagram_business_manage_messagesПереписки Direct и отправка сообщений; вебхук messagesig.conversations, ig.send_message
instagram_business_manage_insightsСтатистика аккаунта и медиаig.insights, ig.media_insights

Условия продления токена (Meta): токену не меньше 24 часов, он ещё действует, и пользователь выдал instagram_business_basic. Токен, не продлённый за 60 дней, истекает.

Как подключить Instagram Login app к Socialift

  1. «Kalitlar» → «Instagram Login app»

    В кабинете откройте «Kalitlar» (ключи) и карточку «Instagram Login app». Redirect URI из блока «Konsolga ko'chiring» (скопируйте в консоль) вставьте в Business login settings → OAuth redirect URIs.

  2. Введите ключи и проверьте

    Заполните «Instagram app ID» и «Instagram app secret», поле «Scope'lar» необязательно (пусто = стандартный список). Нажмите «Saqlash va tekshirish» (сохранить и проверить): Socialift запросит у Meta app access token с этой парой и покажет результат в карточке.

  3. Скопируйте адрес вебхука

    После сохранения в карточке появятся Webhook URL, Webhook verify token, Deauthorize callback и Data deletion callback. Вставьте их в соответствующие поля дашборда Meta. Входящие события проверяются секретом из этой карточки.

  4. Подключите аккаунт

    В «Ulanishlar» (подключения) нажмите «Ulash» (подключить) на карточке «Instagram (Page'siz)». Аккаунт появится с типом business или creator, рядом виден срок токена, кнопка «Token'ni yangilash» (обновить токен) продлевает его.

  5. Подпишите аккаунт на вебхуки

    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.

instagram_login.py
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). Со своим ключом в окне входа показывается название вашего приложения, а вебхуки проверяются вашим секретом.

Источники

  1. Meta: Instagram Platform overview
  2. Meta: Business Login for Instagram
  3. Meta: Instagram webhooks
  4. Meta: Instagram insights
  5. Meta: Content publishing
  6. Meta: Messaging API (Instagram Login)

Связанные страницы