
私が求めていたのはデータ、Redditのデータでした。そして、すべての良い冒険がそうであるように、この物語は地図(ガイドを読むこと)、ミッション、そしてOAuth2の仕組みに対する完全な誤解から始まります。
私は「APIの trenches」で時間を費やしたので、あなたはその必要がありません。以下は、通常の怒りを感じることなく、あなたの認証情報を取得するためのロードマップです。それでは、プロセスを一緒に進め、用語を解読し、いくつかのミームを交えながら、あなたのプロジェクトを前進させましょう。
ステップ1. Reddit APIキーの取得方法、冒険の始まり
Redditデータへの旅の最初のステップは、アカウントを作成することです。まだアカウントを持っていない場合は、まずそれを行ってください。その後、RedditのAPIにアクセスするためには、アプリを登録する必要があります。これにより、プラットフォームがリクエストを識別し、認証するために使用するReddit APIの認証情報が得られます。
それでは、Redditアカウントにログインし、アプリ作成ページに移動しましょう。下にスクロールして、フォームに記入して新しいアプリを作成します:
- アプリの名前を付ける;
- アプリのタイプを選択する:
- 「スクリプト」 – 個人使用、バックエンドツール、または単一ユーザーのアクセスが必要な自動化用;
- 「ウェブアプリ」 – ブラウザベースのログインとリダイレクションを使用するユーザー向けインターフェースを持つアプリ用;
- 「インストール済みアプリ」 – 複数ユーザーまたは公共向けアプリケーションおよびデスクトップ/モバイルクライアント用。
- リダイレクトURIを設定する — スクリプトタイプでは使用しませんが、必須です;
- さらにフィールドを記入する(時間、意欲、忍耐があれば)。
「アプリを作成」をクリックすると、Redditがあなたのアプリの認証情報を生成します。これにはclient_IDとclient_secretが含まれます。やった!これで扉が開きました。次に、あなたが受け取ったツールを見ていきましょう。
時間がないですか?「手作業」をスキップしてデータに直接アクセスしたい場合は、ステップ6にジャンプしてください。しかし、忍耐(または好奇心)があるなら、一歩ずつ進んでいきましょう。
CTAフォーム:
OAuthに触れずに公共のRedditデータが欲しいですか?
トークン、スコープ、レート制限などの煩わしさを伴う「Reddit APIキーの取得方法」のクエストをスキップしてください。フォームに記入して、Data365 APIがあなたのプロジェクトにどのように役立つかを探ってみてください。
[お電話を予約]
ステップ2. Reddit APIキー:三つの神聖なアーティファクト
Redditアプリが登録されると、Redditは「Reddit APIキー」として知られる三つのアイテムを提供します。これらは、Redditがリクエストを認証し、承認するために使用するデジタルIDカードのようなものです。これがなければ、先に進むことはできません。
- クライアントIDは、アプリの公開識別子です。Redditは、どのアプリケーションがリクエストを行っているかを認識するために使用します。Redditのアプリページでアプリ名のすぐ下に見つけることができます。通常は、abcDEF123XYZ78のような短い英数字の文字列です。
- クライアントシークレットは、アプリに関連付けられたプライベートキーで、パスワードのように扱います。これは、クライアントIDと組み合わせて、アプリが正当であることを確認するために使用されます。安全に保管してください。共有したり、GitHubにコミットしたり、フロントエンドコードに露出させたりしないでください。漏洩した場合、あなたのアプリは危険にさらされます。
- ユーザーエージェントは、Redditにあなたが誰であるかを伝えるカスタム文字列で、すべてのリクエストに必要です。最初の二つはアプリを登録するときに生成されますが、ユーザーエージェントはRedditによって発行されるものではなく、自分で作成します。ユニークで、説明的で、人間が読めるものでなければなりません。ユーザーエージェントがあまりにも曖昧(または欠落している)場合、リクエストが制限されたりブロックされたりすることがあります。
これらは、Redditがあなたのアプリケーションを認識し、承認するために使用する基本的な要素です。
プロのヒント:これらの認証情報をスクリプトにハードコーディングしないでください。プライバシーを守るために、.envファイルを使用して「神聖なアーティファクト」を守りましょう。これにより、セキュリティリスクが最小限に抑えられ、異なる環境へのデプロイが簡素化されます。

笑いたいですか?実はこれらのReddit APIキーだけではアクセスできません。ハハ。はい、もう一つの扉を開く必要があります。
準備はいいですか?さらに進みましょう。
準備ができていませんか?出口が必要ですか?それならすべてをスキップしてステップ6に移動してください。または、さらに短い方法…ただフォームに記入して、Data365 APIの14日間の無料トライアルを取得し、すでに公共のRedditデータを取得してください。
ステップ3. Reddit APIアクセス:スコープの解読または途中の道
さて、クライアントID、クライアントシークレット、ユーザーエージェントを手に入れたら、次のステップは、どのようなアクセスを希望するかを決定することです。
なぜなら、Redditはデフォルトで「神モード」の完全なアクセスを提供しないからです。アプリが何をできるか、どのデータにアクセスできるかを定義するために、特定の権限を要求する必要があります。Reddit用語で言えば、これがスコープを選択することです。
すべてのスコープが平等に作られているわけではありません。あるスコープは、サブレディットの投稿のような公共データを読むことを許可します。他のスコープは、投票、コメント、またはユーザーの投稿履歴を見ることを許可します。これらは、Redditアカウントからの許可を得た成功したOAuthログインのような、より深い認証されたアクセスが必要です。
例えば、以下のスコープを選択できます:
- read — サブレディットの投稿やコメントを読む;
- identity — Redditのユーザー名やアカウント情報を表示;
- submit — 新しい投稿やコメントを提出;
- vote — コンテンツに対してアップボートやダウンボートを行う;
- history — 投票やコメントの履歴にアクセス;
- mysubreddits — 購読しているサブレディットを見る。
スコープをAPIアクセスメニューとして考えてください。必要なアクションのためにチェックボックスを選択し、Redditはそれらのためだけに機能するトークンを提供します。少なすぎる権限を要求するとリクエストが失敗する可能性があります。多すぎる権限を要求すると、Redditは眉をひそめるかもしれません。
重要なことは、スコープがなければアクセスできないということです。有効なReddit APIアクセス・トークンと認証情報があっても、スコープが欠落しているか間違っている場合、Redditはリクエストを通過させません。
したがって、最良の方法は小さく始めることです。ほとんどの読み取り専用のユースケースでは、readとidentityで十分です。アプリが進化するにつれて、さらに追加してください。そして、はい — 技術的には、開発中にワイルドカード(*)で全スコープを要求することができます。しかし、本番環境では驚きを好まない限り、これを行わないでください。
スコープを選択したら、Reddit APIアクセス・トークンをリクエストし、実際にログインする準備が整いました…
本格的なアクションの準備はできましたか?行きましょう。
それとも、Data365 APIで必要なものを手に入れるためにスキップしますか?サイドフォームをクリックして、最初に試すための14日間の無料トライアルをリクエストしてください。
ステップ4. Reddit APIログイン:OAuth2だ、赤ちゃん、あなたではない
さて、開発者を泣かせる部分です:OAuth2。
認証情報を手に入れました。スコープを選択しました。さあ、それを活用する時です — つまり、ログインする必要があります。しかし、Reddit APIのログインは、一般的なユーザー名とパスワードの状況ではありません。Redditは、経験豊富な開発者でさえつまずくことがある認証プロトコルであるOAuth2を使用しています。

アプリのタイプによって、RedditがサポートするいくつかのOAuth2フローがあります。個人使用やスクリプトの場合、最も簡単なオプションはパスワードグラントフローです。これは公共アプリには推奨されませんが、自分のデータ(または公共のサブレディットデータ)にアクセスしようとする単独の開発者には、トークンを取得する最も迅速な方法です。あなたは、Redditのトークンエンドポイントに自分のRedditユーザー名、パスワード、アプリの認証情報を送信します。その見返りに、Redditアクセス・トークンを取得します。
そのReddit APIトークンは、認証されたAPIリクエストを行うために使用します。トークンがなければ、データは得られません。Redditは、各呼び出しのAuthorizationヘッダーにそれを期待しています。
ただし、注意してください:Reddit APIアクセス・トークンは1時間のみ有効です。
その後、新しいトークンをリクエストする必要があります。
短いスクリプトや迅速な統合の場合、通常は問題ありません。長時間実行されるものや高頻度のものについては、リフレッシュプロセスを自動化するか、次のようなより高度なOAuth2フローを使用することを検討してください:
- 認証コードグラント – ウェブアプリやサードパーティの統合に使用されます。ユーザーをRedditにリダイレクトしてログインと同意を求めます。
- インプリシットグラント – ブラウザベースのアプリに使用されます(安全性が低く、推奨されることはほとんどありません)。
- リフレッシュトークンフロー – ユーザーを再認証せずに新しいアクセス・トークンを取得するために使用されます。コードグラントにのみ適用されます。
Redditアクセス・トークンを取得したら、実際にAPIを呼び出す準備が整いました。次のステップは、すべてをまとめてリクエストを行うことです。行きましょう。
ああ、あなたはこのステップに到達するまでに難しい人ですね…でも、OAuth2の格闘があなたにとって多すぎる場合、必要なものを得るためのはるかに簡単な方法があります…すべてのドラマなしで。ステップ6で確認してください。または、14日間のトライアルをリクエストするためにお電話を予約してください – サイドバーのフォームは右側にあります。はい、ここにあります。
ステップ5. Reddit APIの認証情報とトークン:データアクセスを得るためのパズルを組み立てる
ここまでで、認証情報を収集し、スコープを選択し、それを使用してアクセス・トークンを取得しました。これで重労働は終わりました。今は点をつなげて、実際にRedditのAPIにリクエストを行い、データを取得する時です(ついに!)。
この時点で、あなたのバックパックには以下のものがあります:
- クライアントID
- クライアントシークレット
- ユーザーエージェント
- アクセス・トークン
これらの四つは、API呼び出しを認証し、承認するために一緒に機能します。Redditデータにアクセスするためには、Redditの
Data365 API を使用して主要なソーシャルメディアネットワークからデータを抽出
14 日間の無料試用版をリクエストして 20 種類以上のデータタイプを入手してください



