Skip to content

YouTube API Kurulumu

YouTube entegrasyonu için admin walkthrough. Son-kullanıcı akışı: Bağlantılar → YouTube.

Genel bakış

Form alanıOptions anahtarı
Client IDyoutube_client-id
Client Secretyoutube_client-secret
Statusyoutube_integration_status

ENV fallback: YOUTUBE_CLIENT_ID + YOUTUBE_CLIENT_SECRET.

console.cloud.google.com adım adım

1. Google Cloud projesi oluştur veya seç

https://console.cloud.google.com → tepe proje seçici → New Project. Sorulduğunda faturalama hesabı seç (YouTube Data API ücretsiz kota kademesine sahip — yalnızca aştığında faturalama gerekli).

2. YouTube Data API v3'ü etkinleştir

Projede APIs & Services → Library → "YouTube Data API v3" ara → Enable.

APIs & Services → OAuth consent screen. User type: External (her Google kullanıcısının yetkilendirmesine izin verir). Doldur:

  • App adı (örn. "Sosyabot")
  • User support email
  • Developer contact email
  • App home page: https://sosyabot.com
  • Authorized domains: sosyabot.com

Scope'lardan (atla — API üzerinden isteyeceğiz), test users'tan (geliştirme için kendini ekle) Save and continue ile geç ve gönder.

Production için verification gerekli

Production kullanım için app'i Google verification'a göndermen gerekir (youtube.upload scope'u sensitive scopes listesinde). Verify edilene kadar 100 test kullanıcısıyla sınırlısın.

4. OAuth 2.0 Client ID oluştur

APIs & Services → Credentials → Create Credentials → OAuth client ID.

  • Application type: Web application.
  • Name: örn. "Sosyabot Web"
  • Authorized redirect URIs:
    https://app.sosyabot.com/api/v1/auth/youtube/callback
  • Save.

Dialog şimdi Your Client ID ve Your Client Secret'ı gösterir — ikisini de kopyala. JSON'u sonra yeniden indirebilirsin ve secret yine görünür, X'in aksine.

Sosyabot admin paneline yapıştırma

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

Hata: YouTube integration disabled: client id/secret not configured.

Doğrulama

/app/channels → Connect → YouTube → OAuth → consent (video yükleme hakkında scope uyarısı görürsün) → onayla. Google hesabı birden fazla YouTube kanalına sahipse Sosyabot her YouTube kanalı için bir Sosyabot kanalı oluşturur.

/app/publishing'den kısa bir test video yükle (cap ~10 sn) — YouTube kanalının Your videos sayfasında göründüğünü doğrula (yüklemeler onaylanana kadar varsayılan olarak privatedır).

Sorun giderme

BelirtiSebepÇözüm
YouTube integration disabled: client id/secret not configuredAdmin + ENV boş1-4. adımlar.
Consent'te Access blocked: Authorization ErrorApp Testing modunda ve kullanıcı test user değilKullanıcıyı test user olarak ekle VEYA verification'a gönder.
Birkaç yüklemeden sonra kota aşıldıVarsayılan günlük kota 10.000 birim; her yükleme 1.600 birimGoogle Cloud Console'dan kota artırımı talep et.
Worker log'larında token refresh'leri başarısızRefresh token iptal edildi (kullanıcı app'i Google Account'tan kaldırdı)Kullanıcı /app/channels'tan reconnect yapmalı.

ENV fallback

YOUTUBE_CLIENT_ID=<client id'in>
YOUTUBE_CLIENT_SECRET=<client secret'in>

.env düzenledikten sonra ./service.sh restart api.

İlgili