まず、試験できる到達点を書く
同僚が画面を開き、SideProjectでfeedbackに関する過去の例を求め、顧客への次の質問をメモする。この一文なら、機能の動作を確かめられます。市場全体を代表する調査、現在の意見、自動作成される開発計画を約束するものではありません。最初の利用者と、この小さな到達点を共有します。
Reddit API Cloudのアーカイブを呼ぶために、自前のElasticsearchクラスターを運用する必要はありません。ただしアプリのサーバー、利用者セッション、権限確認、表示、ローカル処理は自分のチームの責任です。独立した過去アーカイブは公式Redditやライブデータではなく、OAuth、書き込み、投票、メッセージもありません。ホスト型アクセスは全基盤の運用代行や外部変更に影響されない製品の保証ではありません。継続的な可用性、固定応答、一定の性能も約束されません。
利用者とアーカイブの間で権限を確認する
有料の取得前に、自分たちのバックエンドで利用者の権限を確認します。アーカイブのアカウントはサーバーを認証するもので、SaaSの顧客一人ひとりを認証するものではありません。非公開設定からredditapicloud.comのキーを読み、Authorization: Bearer YOUR_API_KEYかX-API-Key: YOUR_API_KEYを送ります。結果と一緒に秘密をブラウザーへ返さないでください。
保存したメモを開く操作が、保存済みの応答を表示するのか、新しい有料検索を起動するのかも決めます。メモの保存先、同僚のアクセス権、アプリの配備はチームの仕事です。アーカイブ側が製品専用の調査ワークスペースを提供するわけではありません。
具体的な質問を、小さな一ページで試す
https://api.redditapicloud.com/v1/search?q=feedback&subreddit=SideProject&limit=3を使います。ホームでパラメータと合成の空レスポンスを確認できます。kindを省略すると投稿とコメントの両方が対象です。qはtitleとtextを検索し、複数語は一致対象となる一つのフィールド内でAND条件になります。完全一致のフレーズ検索や意味検索、感情分析ではありません。
fromとtoはcreated_utcに対するUTCのYYYY-MM-DDで、toの日を全て含みます。min_scoreは数値の下限フィルターで、_docは内部の文書順です。時系列順、スコア順、関連度順ではありません。手元での並べ替えは受信済みレコードだけを対象にします。
原文とチームの解釈を分ける
dataと利用できるフィールドを検証してからテキストとして表示し、保存する場合は要求のパラメータも残します。フラットなレコードはparent_idやlink_idがあれば任意にローカルで関連付けられますが、完全な会話は保証されません。チームが付けた製品テーマは独自の解釈であり、アーカイブが返した分類ではありません。
空の成功と失敗は別の状態にします。質問を変えたら新しいパラメータを記録し、異なる選択集合を黙って代表的な調査結果にまとめないようにします。再取得しても以前の本文が同じ状態で戻るとは限りません。
一つの操作にページ数と再試行の上限を置く
一要求最大100レコード、一クエリ最大100ページで、各ページが別の呼び出しです。文書順は時間、関連度、スコア順ではありません。eqは正確な総数、gteは下限、unknownまたはnullは信頼できる総数が不明です。正確な数でも全件保存は証明しません。日付分割や重複除去は網羅性と一意性を保証しません。取得ページと停止理由を報告し、過去の選択集合をリアルタイム市場監視や全てのコミュニティ議論の一覧として表示しないでください。
空でも成功した要求は1クレジットで、1,000回が$1です。サーバー成功後に応答が失われても課金され得ます。成功した再試行は別の1クレジットです。無効な要求は差し引かれず、上流失敗では予約分が戻ります。保存済み応答の再処理なら新しい取得は発生しませんが、元の費用は取り消されません。
状態を試してから利用範囲を広げる
権限の有無、欠けたフィールド、空の応答、通信断を試します。400では引数、401ではキー、402では残高、429では頻度を確認し、必要な再試行には回数と待機時間を設けます。/v1/statusは静的な範囲とHTTPアプリの応答を示すだけで、上流検索の稼働確認ではありません。
最後に、その試作が製品会議に役立つかを確かめます。サーバー運用、保存ルール、利用者の権限、機能の予算は公開計画に残してください。キーのページはアクセス、料金ページは最低$50の追加を扱います。登録や支払いだけで、製品の機能が完成したとは判断できません。