Skip to content

Instagram API Kurulumu

Business Login for Instagram (Meta'nın "Instagram API with Instagram Login" akışı) için admin walkthrough. Son-kullanıcı akışı: Bağlantılar → Instagram.

Bu sayfayı doldurduğunda Connect → Instagram kullanıcıyı instagram.com'a götürür: doğrudan Instagram hesabıyla giriş yapar, facebook.com'u hiç görmez ve Facebook Page gerekmez. Boş bırakırsan Instagram sessizce eski Facebook-Page rotasına düşer — bkz. Facebook API Kurulumu. İki rota aynı anda canlıdır; callback yolu ikisinde de aynıdır.

Genel bakış

Form alanıOptions anahtarı
Instagram App IDinstagram_app-id
Instagram App Secretinstagram_app-secret
Statusinstagram_integration_status

ENV fallback: INSTAGRAM_APP_ID + INSTAGRAM_APP_SECRET.

Bu, Facebook App ID'si değildir

Meta, Instagram Login için app'in Instagram ürünü altında ayrı bir app id/secret verir. Settings → Basic'teki Facebook App ID'si instagram.com/oauth/authorize tarafından reddedilir. Yalnızca /admin/api-integration/facebook'teki Facebook çiftini doldurmak bu sayfayı yapılandırmış saymaz.

developers.facebook.com adım adım

1. Meta app'ini aç

https://developers.facebook.comMy Apps. Facebook Login'i tutan Business tipi app'i yeniden kullanabilirsin — yalnızca kimlik bilgileri ayrıdır — ya da yeni bir app oluştur.

2. Instagram ürününü ekle

Add Product → Instagram, sonra Instagram → API setup with Instagram business login'i aç.

3. Redirect URI'yi kaydet

API setup with Instagram business login → Business login settings altında:

  • OAuth Redirect URIs: alan adını sabitlemeyin. /admin/api-integration/instagram admin sayfasında gösterilen tam Callback URL'yi (bu kurulum için canlı) kopyalayın. Kalıp:
    <BASE_URL>/api/v1/auth/instagram/callback
    <BASE_URL> backend URL'iniz; /api/v1 ayarlı API_PREFIX'tir. Bu, Facebook-Page rotasının zaten kullandığı yolun aynısıdır — tek kayıt iki akışa da yeter. Bkz. OAuth Callback URL'leri.

4. Gerekli izinler

instagram_business_basic, instagram_business_content_publish, instagram_business_manage_insights. Bu akışta hiçbir pages_* izni istenmez. Development modunda davetli tester'lara anında verilir; Live'a geçmek her izin için Meta App Review gerektirir.

5. Instagram App ID + App Secret'ı al

Aynı ekran — Instagram → API setup with Instagram business loginInstagram app ID ve Instagram app secret'ı gösterir. Bunları Settings → Basic'ten alma; oradakiler Facebook çiftidir.

Sosyabot admin paneline yapıştırma

/admin/api-integration/instagram. Yapıştır, Enable, Save, Test credentials.

Hata: Instagram login not configured: app id/secret missing (admin panel or INSTAGRAM_APP_ID/SECRET).

Hesap şartı

Bağlanan kişinin Instagram profesyonel hesabı olmalı — Business veya Creator. Facebook Page gerekmez. Kişisel hesap, callback'te instagram_not_professional hatasıyla, daha hiç kanal yazılmadan reddedilir.

Eski Facebook-Page rotası değişmedi: hâlâ bir Facebook Page'e bağlı Business / Creator hesabı ister ve bağlı değilse no_instagram_business_account ile başarısız olur.

İki rota yan yana

Instagram Login (bu sayfa)Facebook Page (fallback)
İzin ekranıinstagram.comfacebook.com
Facebook Page gerekir miHayırEvet
Kimlik bilgileriinstagram_app-id / instagram_app-secretfacebook_app-id / facebook_app-secret
TokenInstagram kullanıcı token'ı, 60 gün, kendini yenilerFacebook Page token'ı, süresi dolmaz
API hostgraph.instagram.com/v21.0graph.facebook.com/v21.0

Sosyabot rotayı kendi seçer: bu sayfa yapılandırılmışsa Instagram Login, değilse Facebook Page. Test için birini zorlamak istersen /api/v1/auth/instagram'a ?via=instagram veya ?via=facebook ekle — bu sayfa yapılandırılmamışken ?via=instagram net bir hata verir. Bir hesabın hangi host'u kullandığı o hesabın saklı token'ından okunur, yani eski yoldan bağlanmış kanallar aynen çalışmaya devam eder.

Webhook'lar Facebook app'inde kalır

Meta webhook'ları (META_WEBHOOK_VERIFY_TOKEN) değişmedi ve hâlâ Facebook app secret'ı ile doğrulanır. Bu sayfayı yapılandırmak onları taşımaz.

Doğrulama

/app/channels → Connect → Instagram → instagram.com'a düşmelisin (facebook.com'a değil) → onayla. /app/publishing'ten tek görselli bir test gönderisi yayınla.

Sorun giderme

BelirtiSebepÇözüm
Instagram login not configured: app id/secret missing (admin panel or INSTAGRAM_APP_ID/SECRET)Admin + ENV boş ve ?via=instagram zorlandı1–5. adımlar. Bunlar olmadan Instagram, Facebook-Page rotasını kullanır.
Bağlantı hâlâ facebook.com'u açıyorBu sayfa boş veya Status Disabled → otomatik fallbackInstagram çiftini doldur ve Status'u Enable yap.
instagram.com girişi geçersiz client id diyerek reddediyorBuraya Facebook App ID'si yapıştırılmış5. adım — id'yi Instagram → API setup with Instagram business login'den al.
instagram_not_professional ile geri dönüyorKişisel Instagram hesabıHesabı Instagram uygulamasından Business veya Creator'a çevir, sonra tekrar bağla.
instagram.com'da Invalid redirect_uriCallback allow-list'te değilBusiness login settings altına tam …/api/v1/auth/instagram/callback ekle (3. adım).
Instagram kanalı 60. gün civarında ölüyorGecelik yenileme sweep'i çalışmıyorWorker'ı doğrula (./service.sh logs worker); sweep bu token'ları grant_type=ig_refresh_token ile yeniler. Page-token'lı kanallar etkilenmez.
App Development modunda ve harici kullanıcılar başarısızMod App Roles ile sınırlıApp Roles altında tester ekle veya Live'a geç (App Review gerektirir).

ENV fallback

INSTAGRAM_APP_ID=<instagram app id'in>
INSTAGRAM_APP_SECRET=<instagram app secret'in>

Admin panel her zaman kazanır. .env düzenledikten sonra ./service.sh restart çalıştır.

İlgili