Instagram Login: Instagram app ID va secret olish
Instagram API with Instagram Login professional (Business yoki Creator) Instagram akkauntini Facebook Page'siz ulaydi. U Meta app ichida sozlanadi: Instagram → API setup with Instagram login bo'limidan Instagram app ID va Instagram app secret'ni olasiz — ular Meta App ID'dan farq qiladi — OAuth redirect URI qo'shasiz, instagram_business_* ruxsatlarini so'raysiz va webhook'larni sozlaysiz.
Yangilangan:
Instagram Login yoki Facebook Login — qaysi birini tanlash kerak?
Akkauntga Facebook Page bog'lanmagan bo'lsa yoki sizga faqat Instagram kerak bo'lsa — Instagram Login: profil, media, e'lon qilish, izohlar, Direct va statistika. Facebook Page'lar, Lead Ads, reklama, hashtag qidiruvi yoki mahsulot belgilash ham kerak bo'lsa — Facebook Login (Page orqali): Meta hujjatiga ko'ra bu imkoniyatlar Instagram Login'da yo'q.
Ikkala yo'l ham faqat professional akkauntlar bilan ishlaydi — oddiy shaxsiy Instagram akkauntiga API kirmaydi.
Bitta mahsulotda ikkalasini birga ishlatish mumkin: Socialift kabinetida ular alohida kartalar — “Meta (Facebook) app” va “Instagram Login app”.
Instagram Login va Facebook Login farqi
| Instagram Login | Facebook Login (Page orqali) | |
|---|---|---|
| Facebook Page | Kerak emas | Kerak: Instagram akkaunt Page'ga bog'langan bo'ladi |
| Qaysi ID | Instagram app ID | Meta App ID |
| API host | graph.instagram.com | graph.facebook.com |
| Token | Instagram User token (uzoq muddatli — 60 kun, yangilanadi) | Facebook User yoki Page token |
| Ruxsatlar | instagram_business_* | instagram_* + pages_* |
| Hashtag qidiruvi, mahsulot belgilash | Yo'q | Bor |
| Socialift kabineti | Kalitlar → “Instagram Login app” | Kalitlar → “Meta (Facebook) app” |
| Python SDK | Instagram(app_id=..., app_secret=...) | Instagram.via_facebook(app_secret=...) |
Meta dashboard'da Instagram Login'ni sozlash
Instagram use case'li Meta app oching
developers.facebook.com/apps'da app yarating va Instagram use case'ini (“Manage messaging & content on Instagram”) tanlang yoki uni mos mavjud app'ga qo'shing. Keyin chap menyuda Instagram → API setup with Instagram login bo'limini oching. Tugma nomlari o'zgarishi mumkin — maqsad shu bo'limga yetish.
Instagram app ID va secret'ni ko'chiring
Ular “Set up Instagram business login” → Business login settings qismida. Bu App settings → Basic'dagi Meta App ID va App Secret EMAS: Meta hujjatiga ko'ra Business Login for Instagram ishlatadigan app'lar aynan shu bo'limdagi Instagram app ID'dan foydalanadi.
OAuth redirect URI qo'shing
Business login settings'dagi OAuth redirect URIs ro'yxatiga callback manzilini qo'shing. U avtorizatsiya so'rovidagi
redirect_uribilan aynan bir xil bo'lishi kerak.Ruxsatlarni tekshiring
Use case'da kerakli
instagram_business_*ruxsatlari borligiga ishonch hosil qiling (pastdagi jadval). Eski nomlar (business_basicva h.k.) 2025-yil 27-yanvarda eskirgan — kodda yangi nomlar bo'lishi shart.O'z akkauntingiz bilan sinang
Shu sahifada test token yaratish uchun Instagram akkaunt qo'shish mumkin. Standard Access'da app faqat siz egalik qiladigan yoki boshqaradigan, yoki App Dashboard'da app'ga qo'shilgan akkauntlar uchun ishlaydi.
Webhook'larni sozlang
Webhook bo'limida Callback URL va Verify token'ni kiritib tasdiqlang, so'ng
comments(eslatmalar ham shu hodisa ichida keladi) vamessagesmaydonlariga obuna bo'ling. Meta talablari: app Live holatda bo'lishi,commentsuchun Advanced Access, akkaunt ochiq (public) bo'lishi va har bir akkaunt uchungraph.instagram.comdaPOST /me/subscribed_appschaqirilishi.App Review va Business Verification
Siz egalik qilmaydigan yoki boshqarmaydigan akkauntlarni ulash uchun App Review orqali Advanced Access oling; Advanced Access uchun Business Verification talab qilinadi.
Qaysi ruxsatlar (scope) kerak?
Bu Socialift'ning “Instagram Login app” kartasi va Instagram(...) klienti uchun standart ro'yxat.
| Ruxsat | Nimaga ruxsat beradi | SDK'da |
|---|---|---|
instagram_business_basic | Professional akkaunt profili va media; token yangilash uchun ham shart | ig.profile, ig.media, ig.refresh_token |
instagram_business_content_publish | Post, karusel va Reels e'lon qilish | ig.publish, ig.publish_carousel |
instagram_business_manage_comments | Izohlarni o'qish, javob berish, yashirish, o'chirish; comments webhook'i | ig.comments, ig.reply_comment, ig.hide_comment |
instagram_business_manage_messages | Direct yozishmalari va xabar yuborish; messages webhook'i | ig.conversations, ig.send_message |
instagram_business_manage_insights | Akkaunt va media statistikasi | ig.insights, ig.media_insights |
Izohlar va cheklovlar
Token yangilash sharti (Meta): token kamida 24 soatlik, muddati tugamagan va foydalanuvchi instagram_business_basic bergan bo'lishi kerak. 60 kun ichida yangilanmagan token tugaydi.
Instagram Login app'ni Socialift'ga qo'shish
Kalitlar → Instagram Login app
Kabinetda “Kalitlar” bo'limida “Instagram Login app” kartasini oching. “Konsolga ko'chiring” blokidagi Redirect URI'ni Business login settings → OAuth redirect URIs'ga qo'ying.
Kalitlarni kiriting va tekshiring
“Instagram app ID” va “Instagram app secret” maydonlarini to'ldiring, “Scope'lar” ixtiyoriy (bo'sh = standart ro'yxat). “Saqlash va tekshirish” ni bosing: Socialift shu juftlik bilan Meta'dan app access token so'raydi va natijani kartada ko'rsatadi.
Webhook manzilini ko'chiring
Saqlangandan keyin kartada Webhook URL, Webhook verify token, Deauthorize callback va Data deletion callback chiqadi. Ularni Meta dashboard'dagi mos maydonlarga qo'ying. Kelgan hodisalar shu kartadagi secret bilan tekshiriladi.
Akkauntni ulang
“Ulanishlar” bo'limida “Instagram (Page'siz)” kartasidagi “Ulash” ni bosing. Akkaunt business yoki creator turi bilan chiqadi; token muddati yonida ko'rinadi, “Token'ni yangilash” tugmasi uni uzaytiradi.
Akkauntni webhook'ga obuna qiling
Socialift Instagram Login akkauntlarini
subscribed_appsga avtomatik obuna qilmaydi. Har bir akkaunt uchun bir marta shu akkaunt token'i bilanPOST https://graph.instagram.com/v26.0/me/subscribed_apps?subscribed_fields=comments,messageschaqiring.
Python SDK'da Instagram Login
Instagram.from_env() INSTAGRAM_APP_ID, INSTAGRAM_APP_SECRET va META_GRAPH_VERSION ni o'qiydi.
import asyncio
import secrets
from socialift import Instagram
REDIRECT_URI = "https://siz.uz/auth/instagram/callback" # OAuth redirect URIs bilan bir xil
async def main() -> None:
# INSTAGRAM_APP_ID, INSTAGRAM_APP_SECRET (Meta App ID emas!), 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 kunlik token
profile = await ig.profile(bundle.access_token)
print(profile.username, bundle.expires_at)
asyncio.run(main())Aniq ko'rinishda: Instagram(app_id="...", app_secret="..."). Token'ni haftasiga bir marta await ig.refresh_token(token) bilan yangilab turing.
Page orqali ulangan akkaunt uchun esa Instagram.via_facebook(app_secret=...) va Page token ishlatiladi.
Ko'p uchraydigan xatolar
- Meta App ID va App Secret Instagram Login uchun ishlatilgan — Instagram app ID va secret kerak.
- Redirect URI OAuth redirect URIs'dagidan farq qiladi.
- Eski
business_*scope nomlari so'ralgan — yangilariinstagram_business_*. - Akkaunt professional emas (shaxsiy) — API unga kirmaydi.
- Webhook sozlangan, lekin akkaunt
/me/subscribed_appsga obuna qilinmagan yoki app Live emas. - Akkaunt yopiq (private) — izoh va eslatma webhook'lari kelmaydi.
- Token 60 kun yangilanmagan va jimgina tugagan.
Ko'p so'raladigan savollar
Instagram app ID Facebook App ID bilan bir xilmi?
Yo'q. Instagram Login uchun Instagram → API setup with Instagram login bo'limidagi Instagram app ID va Instagram app secret ishlatiladi. Meta App ID va App Secret (App settings → Basic) Facebook Login uchun.
Instagram Login uchun Facebook Page kerakmi?
Yo'q, bu yo'lning asosiy afzalligi shu. Lekin akkaunt professional (Business yoki Creator) bo'lishi kerak. Hashtag qidiruvi, mahsulot belgilash va reklama kerak bo'lsa, Facebook Login va Page orqali ulanish kerak.
Instagram Login token'i qancha amal qiladi?
Qisqa muddatli token uzoq muddatlisiga almashtiriladi, u 60 kun amal qiladi. Yangilash uchun token kamida 24 soatlik va hali amal qilayotgan bo'lishi kerak; 60 kun yangilanmasa tugaydi. Socialift kabinetida buning uchun “Token'ni yangilash” tugmasi bor.
Nega Instagram webhook'lari kelmayapti?
Tekshiring: app Live holatdami, comments uchun Advanced Access bormi, akkaunt ochiqmi va akkaunt POST /me/subscribed_apps orqali obuna qilinganmi.
Socialift'da kalit qo'ymasam ham ulana olamanmi?
Agar Socialift'ning umumiy Instagram Login kaliti sozlangan bo'lsa — ha, kartada “Socialift kaliti ishlatiladi” deb ko'rinadi. O'z kalitingiz bilan esa login oynasida sizning app nomingiz chiqadi va webhook'lar sizning secret'ingiz bilan tekshiriladi.