Discourse APIに外部リンクを送信し、そのURLにリンクしているトピックを返してもらうことは可能ですか?

外部のDiscourseではないウェブサイトで、「このページについて議論しているフォーラムトピック」というセクションを設け、関連するDiscourseフォーラムトピックへのリンクを掲載することは可能でしょうか?

APIがURLを受け取り、トピックID/URLのリストを返すことができれば、それは完璧です。

Embed Discourse comments on another website via Javascriptについてご存知ですか?

しかし、複数のトピックが1つのページにリンクしていると思われる場合は、TopicLinkテーブルを使用して、そのURLにリンクしているトピックを検索し(おそらくData Explorerプラグインを使用)、トピックと投稿のIDを取得してリンクできる可能性があります。

それらを取得するためのエンドポイントはないと思います。プラグインで利用可能にできると思います。また、Discourse GitHub はある程度似たことを行っているので、それが役立つかもしれません。

「いいね!」 1

これを API 経由で実行するために、URL パラメータを持つクエリを作成し、これを使用できると思いますか? Run Data Explorer queries with the Discourse API.

「いいね!」 2

はい、その通りだと思います、なんとなく。

例えば、これを試してみてください:

https://meta.discourse.org/search.json?q=https%3A%2F%2Fnews.bbc.co.uk

JavaScriptで結果を整理します。

匿名ユーザーが検索を使用できる場合、APIキーは不要かもしれません(その場合、クライアント側でこれを配置できます)。

ただし、最良の結果を得るため、またDiscourseが検索クエリで過負荷になるのを避けるために、外部サーバーで結果をキャッシュしたいかもしれません。

したがって、最良の結果を得るには、外部ウェブサイトでサーバーサイドコードを書く必要があるでしょう。

「いいね!」 2

ロバートさん、ありがとうございます。試してみたところ、自分のサーバーでも動作しました。

これは、以前試みていたことと非常によく似ています。私の別のサーバーはPHPを使用しており、PHPモジュールでCurlコマンドを使用してAPIにアクセスし、クライアントからのajax呼び出しにJSON結果を返す方法を理解しました。こちらがそのトピックです。

「いいね!」 1

ああ!なるほど。通常の検索でURLが見つかるんですね!:person_facepalming:

「いいね!」 1