Skip to content

Reddit

Süresi dolmayan refresh token'lar için duration=permanent ile OAuth 2.0. Token takası zorunlu User-Agent header ile Basic auth (clientId:clientSecret) kullanır.

Kimlik bir bakışta

AlanDeğer
Kimlik modeliOAuth 2.0
Gerekli ENVREDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_USER_AGENT
Callback URL${BASE_URL}/api/v1/auth/reddit/callback
Scope'lar / izinleridentity, submit, mysubreddits, read, flair
Otomatik token yenilemeEvet — süresi dolmadan 7 gün önce

ENV detayları

REDDIT_USER_AGENT varsayılan olarak Sosyabot/1.0'dır. Reddit'in API politikası anlamlı bir UA talep eder — production için web:com.example.sosyabot:v3.38.0 (by /u/yourhandle) formunu kullan.

Nasıl bağlanılır

  1. BağlantılarRedditBağlan'ı aç.
  2. Reddit'e giriş yap ve scope'ları onayla.
  3. Bağlantı sonrası ekranda varsayılan subreddit'i seç.

Token yenileme

Otomatik yenilenir. Varsayılan access-token TTL'i 1 saat'tir. tokenRefresh.queue.ts worker'ı, yeni access token'lar üretmek için kalıcı refresh token'ı kullanır. User-Agent header'ı her yenileme çağrısında zorunludur.

Notlar

  • User-Agent header'ı yalnızca connect'te değil, her API çağrısında zorunludur. Reddit eksik veya genel User-Agent için 429 döner.
  • Sosyabot subreddit listeni data içinde önbelleğe alır ve bağlantı anında ilk subreddit'i varsayılan olarak otomatik seçer.
  • flair scope'u, editörün subreddit flair'larını listeleyip yayınlamadan önce birini seçmene izin vermek için talep edilir.

Sorun giderme

Kanal needs_reconnect gösteriyorsa, access token Reddit tarafından reddedilmiştir. Yaygın sebepler:

  • Kullanıcı Sosyabot'un yetkilendirmesini platform üzerinden iptal etmiştir.
  • Platform token'ı geçersiz kılmıştır (şifre değişikliği, güvenlik olayı).
  • OAuth uygulama kimlik bilgileriniz değişmiştir ve mevcut token'lar artık eşleşmiyordur.

Yukarıdaki bağlantı akışını yeniden çalıştır. Çalışma alanı genelinde checklist için Sorun Giderme'ye bak.

İlgili