Skip to content

Reddit API Kurulumu

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

Genel bakış

Form alanıOptions anahtarı
Client IDreddit_client-id
Client Secretreddit_client-secret
User Agentreddit_user-agent
Statusreddit_integration_status

ENV fallback: REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_USER_AGENT.

User Agent zorunlu

Reddit API'si eksik veya jenerik User-Agent header'lı istekleri reddeder (ilk çağrıda bile 429 Too Many Requests). web:com.example.sosyabot:v3.43.6 (by /u/yourhandle) formunda anlamlı bir UA ayarla.

www.reddit.com/prefs/apps adım adım

1. Giriş yap ve app oluştur

App'in sahibi olmasını istediğin hesapla Reddit'e giriş yap, sonra https://www.reddit.com/prefs/apps'a git.

Sayfanın altındaki are you a developer? create an app...'a tıkla.

2. Formu doldur

  • name: örn. "Sosyabot"
  • type: web app (Sosyabot'un kullandığı OAuth code akışı için zorunlu)
  • description: opsiyonel
  • about url: https://sosyabot.com
  • redirect uri:
    https://app.sosyabot.com/api/v1/auth/reddit/callback

create app'a tıkla.

3. Client ID + Client Secret'ı al

Oluşturduktan sonra app'in app listende iki değerle birlikte görünür:

  • Client ID: app adının altındaki kısa string (14 karakterli random string gibi görünür).
  • Client Secret: secret etiketli.

Sonra edit'e tıklayarak secret'ı yeniden görebilirsin.

Sosyabot admin paneline yapıştırma

/admin/api-integration/reddit:

  1. Client ID: kısa string'i yapıştır.
  2. Client Secret: secret'ı yapıştır.
  3. User Agent: web:com.sosyabot:v3.43.6 (by /u/reddit-handle'ın) gibi bir şey. Zorunlu — Sosyabot yalnızca son çare olarak Sosyabot/1.0'a düşer.
  4. Status: Enable.
  5. Save → Test credentials.

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

Doğrulama

/app/channels → Connect → Reddit → OAuth → identity submit mysubreddits read flair onayla. Bağlantı sonrası ekranda varsayılan subreddit seç. /app/publishing'den test bir self-post gönder (bazı subreddit'ler API submission'ları "approved submitters" ile sınırlar — r/test ile başla).

Sorun giderme

BelirtiSebepÇözüm
Reddit integration disabled: client id/secret not configuredAdmin + ENV boş1-3. adımlar.
İlk istekte 429 Too Many RequestsJenerik / eksik User-AgentYukarıdaki uyarıya göre anlamlı User Agent ayarla.
Submit SUBREDDIT_NOTALLOWED ile başarısızSubreddit onaylanmamış hesaplardan API submission kabul etmiyorFarklı subreddit seç veya kullanıcı hesabını mod'lara approve ettir.
Haftalarca atalet sonra invalid_grantRefresh token Reddit hesap ayarlarından iptal edilmiş olabilirKullanıcı /app/channels'tan reconnect yapar.

ENV fallback

REDDIT_CLIENT_ID=<client id'in>
REDDIT_CLIENT_SECRET=<client secret'in>
REDDIT_USER_AGENT=web:com.sosyabot:v3.43.6 (by /u/yourhandle)

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

İlgili