バックエンドを使用して呼び出しを行う:
- セキュリティが必要な場合
- バックエンドで結果を処理する必要がある場合
- 呼び出しが長時間実行される可能性がある場合
長時間実行される場合は、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)