Facebook API Kurulumu
Instance yöneticileri için adım adım anlatım: Meta for Developers portal'da bir Meta app oluştur ve Facebook Sayfa kanal bağlantıları için kullan.
Bu admin tarafı dokümanıdır. Son-kullanıcı akışı için Bağlantılar → Facebook.
Instagram artık kendi sayfasından yapılandırılıyor
Instagram varsayılan olarak bu kimlik bilgilerini kullanmıyor. Normal bağlantı yolu Business Login for Instagram ve bu yol ayrı bir Instagram App ID + App Secret ister — onları Instagram API Kurulumu sayfasından gir.
Burada yapılandırdığın app, Instagram'ın yedek yolunu beslemeye devam ediyor: Instagram hesabını bir Facebook Sayfası üzerinden bağlayan eski yol. Instagram kimlik bilgileri girilmemişse bu yedek yol kendiliğinden devreye girer, ?via=facebook ile de zorlanabilir.
Genel bakış
/admin/api-integration/facebook admin formu şunları yazar:
| Form alanı | Options anahtarı |
|---|---|
| App ID | facebook_app-id |
| App Secret | facebook_app-secret |
| Status (Etkinleştir / Devre Dışı) | facebook_integration_status |
ENV fallback: FACEBOOK_APP_ID + FACEBOOK_APP_SECRET.
Bu kimlik bilgileri Facebook Sayfalarını ve Instagram'ın yedek yolunu kapsar. Meta webhook'ları da bu app'in secret'ıyla doğrulanır — Instagram app'i yapılandırmak webhook'ları oraya taşımaz.
developers.facebook.com adım adım
1. Meta geliştirici hesabı oluştur
https://developers.facebook.com adresine git, app'in sahibi olmasını istediğin Facebook hesabıyla giriş yap ve geliştirici kaydını tamamla (telefon doğrulama).
2. Yeni app oluştur
My Apps → Create App. App type olarak Business seç (sayfa-yayınlama scope'ları için zorunlu). Bir ad ve iletişim e-postası ver.
3. Ürün ekle
Yeni app dashboard'unda şu ürünleri ekle:
- Facebook Login for Business — OAuth akışı için zorunlu.
- Instagram Graph API — yalnızca Instagram'ın yedek yolunu (Facebook Sayfası üzerinden Instagram) kullanacaksan. Business Login for Instagram bu app'i kullanmaz.
- (Opsiyonel) Threads — sonra Threads de yapılandıracaksan.
4. OAuth redirect URI yapılandır
Facebook Login for Business → Settings'i aç:
- Valid OAuth Redirect URIs: alan adını sabitlemeyin.
/admin/api-integration/facebookadmin sayfası bu kurulum için tam Callback URL'i canlı gösterir — birebir kopyalayın. Kalıp:Instagram callback'ini buraya yalnızca yedek yolun çalışmasını istiyorsanız ekleyin:<BASE_URL>/api/v1/auth/facebook/callback<BASE_URL>/api/v1/auth/instagram/callback<BASE_URL>backend URL'iniz;/api/v1ayarlıAPI_PREFIX'tir. Bkz. OAuth Callback URL'leri. - Kaydet.
5. Doğru izinleri talep et
App Review → Permissions and Features. Sosyabot şunlara ihtiyaç duyar:
pages_show_list,pages_read_engagement,pages_manage_posts,publish_video(Facebook yayını)instagram_basic,instagram_content_publish,instagram_manage_insights— yalnızca Instagram yedek yolu için. Business Login for Instagram bunların yerine kendiinstagram_business_*izinlerini Instagram app'i üzerinden ister.
Development modunda App Roles tester'larıyla bunları anında kullanabilirsin. Live'a geçmek her izin için App Review gerektirir — Meta her iznin nasıl kullanıldığını gösteren bir screencast ister.
6. App ID + App Secret'ı al
App dashboard'unda Settings → Basic'i aç. App ID ve App Secret'ı kopyala (Secret'ta Show'a tıkla).
App Secret rotasyonu
Meta App Secret'ı istediğin zaman yeniden generate etmene izin verir. Bunu yapmak Sosyabot'ta saklanan her token'ı geçersiz kılar ve her bağlı kullanıcıyı yeniden bağlanmaya zorlar. Yalnızca zorunlu kalırsan rotate et.
Sosyabot admin paneline yapıştırma
/admin/api-integration/facebook'i aç:
- App ID: Settings → Basic'ten yapıştır.
- App Secret: Show'la görünen secret'ı yapıştır.
- Status: Enable.
- Save → Test credentials. Başarılı yanıt App ID prefix'i + çözülmüş callback URL'i döner.
Hata mesajları:
Facebook integration disabled: app id/secret not configured→ admin panel ve ENV boş.
Doğrulama — uçtan uca smoke testi
/app/channels'tan bir Facebook Page bağla (admin/editor olduğun bir sayfa).- Scope'ları onayla → geri dön, sayfa active olarak listelensin.
/app/publishing'ten tek satırlık test gönderi yayınla; sayfanın public timeline'ında doğrula.- Yalnızca yedek yolu kurduysan: bir Facebook Page'e bağlı Instagram Business / Creator hesabıyla tekrarla.
Sorun giderme
| Belirti | Sebep | Çözüm |
|---|---|---|
Facebook integration disabled: app id/secret not configured | Admin + ENV boş | 5–6. adımları tamamla. |
Invalid OAuth redirect URI | Redirect URI allow-list'te değil | Facebook Login → Settings'te tam …/api/v1/auth/facebook/callback ekle (yedek yolu kullanıyorsan …/instagram/callback de). |
| Instagram bağlantısı kullanıcıyı instagram.com yerine facebook.com'a götürüyor | Instagram kimlik bilgileri girilmemiş, bağlantı yedek yola düşmüş | Instagram API Kurulumu'nu tamamla. |
Instagram yedek yolu başarılı ama hesap çıkmıyor (no_instagram_business_account) | Kullanıcının, admin olduğu bir Sayfa'ya bağlı Instagram Business / Creator hesabı yok | Instagram hesabını Business / Creator'a çevirip bir Facebook Sayfası'na bağla — ya da Sayfa gerektirmeyen Business Login ile bağla. |
| App Development modunda ve harici kullanıcılar başarısız | Mod App Roles ile sınırlı | App Roles altında tester ekle veya Live'a geç (App Review gerektirir). |
Aniden 190 — Error validating access token | Token invalidate (şifre değişimi, güvenlik olayı, App Secret rotate edildi) | Etkilenen kullanıcılar /app/channels'tan reconnect yapmalı. |
ENV fallback (self-hosters)
FACEBOOK_APP_ID=<app id'in>
FACEBOOK_APP_SECRET=<app secret'in>backend/src/config/env.ts'den boot'ta okunur. Admin panel her zaman kazanır. .env düzenledikten sonra ./service.sh restart çalıştır.