Skip to content

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 IDfacebook_app-id
App Secretfacebook_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/facebook admin sayfası bu kurulum için tam Callback URL'i canlı gösterir — birebir kopyalayın. Kalıp:
    <BASE_URL>/api/v1/auth/facebook/callback
    Instagram callback'ini buraya yalnızca yedek yolun çalışmasını istiyorsanız ekleyin:
    <BASE_URL>/api/v1/auth/instagram/callback
    <BASE_URL> backend URL'iniz; /api/v1 ayarlı 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 kendi instagram_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ç:

  1. App ID: Settings → Basic'ten yapıştır.
  2. App Secret: Show'la görünen secret'ı yapıştır.
  3. Status: Enable.
  4. SaveTest 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

  1. /app/channels'tan bir Facebook Page bağla (admin/editor olduğun bir sayfa).
  2. Scope'ları onayla → geri dön, sayfa active olarak listelensin.
  3. /app/publishing'ten tek satırlık test gönderi yayınla; sayfanın public timeline'ında doğrula.
  4. Yalnızca yedek yolu kurduysan: bir Facebook Page'e bağlı Instagram Business / Creator hesabıyla tekrarla.

Sorun giderme

BelirtiSebepÇözüm
Facebook integration disabled: app id/secret not configuredAdmin + ENV boş5–6. adımları tamamla.
Invalid OAuth redirect URIRedirect URI allow-list'te değilFacebook 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üyorInstagram 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ı yokInstagram 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ızMod App Roles ile sınırlıApp Roles altında tester ekle veya Live'a geç (App Review gerektirir).
Aniden 190 — Error validating access tokenToken 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.

İlgili