サブカテゴリ名

categories.json に対して GET リクエストを送信すると、すべてのカテゴリの subcategoryIds が取得できますが、API を使って対応するサブカテゴリの名前を取得する方法はありますか。

つまり、すべてのカテゴリおよびサブカテゴリの名前と ID を取得したいと考えています。

この投稿が役立つかもしれません Reverse engineer the Discourse API

サブカテゴリの対応する名前が見つかりません。/categories.json に対する GET リクエストのレスポンス全体をパースしてみましたが、サブカテゴリ名を提供するフィールドは見当たりませんでした。

返信ありがとうございます。正直に申し上げますと、リバースエンジニアリングガイドを確認してもあまり役立たないと感じています。ここには何か「魔法」のようなことが行われているように思えるからです。

JSON レスポンスからサブカテゴリ名がどのようにレンダリングされるのか、特定していただけないでしょうか?また、それらの ID を実際の名前に解決する可能性のある、その後の関連する呼び出しも見当たりません。目指しているのは、カテゴリとサブカテゴリのリストを作成し、それをカスタムマークアップで自由に配置できるようにすることです。ご協力をいただければ幸いです。

discourse/app/assets/javascripts/discourse/tests/helpers/create-pretender.js at 928f1025166681105084a46ee733bfb08ca8d5e4 · discourse/discourse · GitHub にある create-pretenders が、名前を「魔法」のように解決するために使われているのではないかと疑問に思っています。

自分で自分の質問に答えます…

サイトのすべてのカテゴリは /sites.json にリストされています。したがって、メインレベルのカテゴリには /categories_and_latest を使用し、各メインカテゴリのサブカテゴリ ID を取得したら、/sites.json のレスポンスからサブカテゴリ名を取得します。

sites.json には、カテゴリをメインカテゴリまたは親カテゴリとして識別するいくつかのプロパティがあると思われます。そのため、最終的には /sites.json だけで十分かもしれません(リクエスト 1 回)。まだテストはしていません。