こんにちは、
Discourse から Node.js で作成したサードパーティのカスタム API を呼び出す方法はありますでしょうか?
ご意見をお待ちしています。
よろしくお願いいたします。
こんにちは、
Discourse から Node.js で作成したサードパーティのカスタム API を呼び出す方法はありますでしょうか?
ご意見をお待ちしています。
よろしくお願いいたします。
API が何で書かれているかは、すべてのやり取りが HTTP 上で行われるなら問題ありません。
おそらく、テーマコンポーネント内でいくつかの JavaScript の Ajax 呼び出しを書くか、適切であれば、Excon や Httparty といった適切な Ruby ガムを使って Ruby で書いた新しいプラグインコード内で HTTP 呼び出しを行う必要があります。
返信ありがとうございます、@merefield さん。フィードバックをいただき感謝しています。
私は Discourse の開発に新しく取り組んでいます。以前は Node.js ベースのコミュニティ CMS「NodeBB」で作業しており、そこで多くのカスタマイズを行いました(Zoho のチケットデータを呼び出すための独自 API の作成、Vimeo 動画リストの取得など)。
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)
わかりました、@merefield さん。確認しています。フィードバックをありがとうございます。