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

バックエンドを使用して呼び出しを行う:

  • セキュリティが必要な場合
  • バックエンドで結果を処理する必要がある場合
  • 呼び出しが長時間実行される可能性がある場合

長時間実行される場合は、Job に配置してください。

これには、プラグイン内でいくつかの Ruby コードと、上記で言及されたいずれかの gem が必要です。

Discourse プラグイン開発は必ずしも簡単ではなく、大規模で複雑な、独自の意見を持つプラットフォームですが、公式の優れたガイドがこちらにあり、また参照できるオープンソースの既存プラグインが非常に多くあります(Customization > Plugin を参照し、GitHub へのリンクを確認してください)。 類似の機能を持つものを見つけて、コード内でどのように解決されているかを確認してみてください。

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

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