YouTube API Kurulumu
YouTube entegrasyonu için admin walkthrough. Son-kullanıcı akışı: Bağlantılar → YouTube.
Genel bakış
| Form alanı | Options anahtarı |
|---|---|
| Client ID | youtube_client-id |
| Client Secret | youtube_client-secret |
| Status | youtube_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.
3. OAuth consent screen'i yapılandır
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
| Belirti | Sebep | Çözüm |
|---|---|---|
YouTube integration disabled: client id/secret not configured | Admin + ENV boş | 1-4. adımlar. |
Consent'te Access blocked: Authorization Error | App Testing modunda ve kullanıcı test user değil | Kullanı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 birim | Google Cloud Console'dan kota artırımı talep et. |
| Worker log'larında token refresh'leri başarısız | Refresh 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.