DiscourseでサードパーティAPIを呼び出す方法は?

こんにちは、
Discourse から Node.js で作成したサードパーティのカスタム API を呼び出す方法はありますでしょうか?

ご意見をお待ちしています。

よろしくお願いいたします。

API が何で書かれているかは、すべてのやり取りが HTTP 上で行われるなら問題ありません。

おそらく、テーマコンポーネント内でいくつかの JavaScript の Ajax 呼び出しを書くか、適切であれば、Excon や Httparty といった適切な Ruby ガムを使って Ruby で書いた新しいプラグインコード内で HTTP 呼び出しを行う必要があります。

「いいね!」 1

返信ありがとうございます、@merefield さん。フィードバックをいただき感謝しています。
私は Discourse の開発に新しく取り組んでいます。以前は Node.js ベースのコミュニティ CMS「NodeBB」で作業しており、そこで多くのカスタマイズを行いました(Zoho のチケットデータを呼び出すための独自 API の作成、Vimeo 動画リストの取得など)。
Discourse においても同様の機能を実装するか、あるいは同様の API を作成し、その応答データを静的ページとしてユーザーにレンダリングしたいと考えています。

よろしくお願いいたします。

バックエンドを使用して呼び出しを実行してください。

  • 安全にする必要がある場合
  • バックエンドで結果を処理する必要がある場合
  • 呼び出しが長時間実行される可能性がある場合

長時間実行される場合は、Job に含めてください。

これには、プラグイン内の Ruby コードと、前述の gem のいずれかが必要になります。

Discourse プラグイン開発への参入は、必ずしも簡単ではありません。Discourse は大きく複雑で、独自の考え方に沿ったプラットフォームですが、こちらには公式の優れたガイドがあり、また参照できる既存のオープンソースプラグインが多数あります(#plugin チャンネルと GitHub へのリンクを参照)。類似の機能を持つものを探し、コード上でどのように解決されているかを確認してください。

表面的な変更であれば、テーマコンポーネントを検討してください。こちらにあるテーマ開発ガイドを参照してください。

次のような例も確認してください:discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)

「いいね!」 3

わかりました、@merefield さん。確認しています。フィードバックをありがとうございます。

「いいね!」 1