まず、Discourse の初心者であることをお断りしておきます。Data Explorer でクエリを作成し、それを当社の Web サイト上の特定のページ(特定のカテゴリのトピックを表示するもの)のデータとして利用したいと考えています。私の理解では、データを取得するには「All Users」の API キーが必要のようですが、この API キーを露出させない方法はあるでしょうか?
解決策は単にサーバー側でデータを取得して返すことでしょうか、それとも何か見落としているのでしょうか?この特定の目的のために API キーの範囲を制限する方法はありますか?
はい、サーバーからリクエストを行うのが正しいアプローチです。
そのためにデータエクスプローラーは必要ありません。カテゴリのトピックリストの JSON をリクエストし、JavaScript で処理することができます。
「いいね!」 2
返信ありがとうございます
。Data Explorer を検討していたのは、トピックの最初の投稿からのテキストを表示したかったためですが、今ではトピックの抜粋(excerpt)を使用することで可能かもしれないと気づきました。API ドキュメントに記載されているカテゴリ「List Topics」クエリを実行してみましたが、トピックに対して ‘excerpt’ フィールドが返ってこないようです。一方、Data Explorer クエリを実行すると、‘t.excerpt’ を追加することで抜粋データが取得できることが確認できました。
そこで、API を通じてトピックの抜粋を取得するにはどうすればよいのでしょうか?
そのための非表示のサイト設定があります:
SiteSetting.always_include_topic_excerpts = true
ただし、私はホストプランを利用しています。これらの隠し設定にアクセスすることは可能でしょうか?