Как вызвать API сторонних сервисов в Discourse

Используйте бэкенд для выполнения вызова:

  • если вам нужна безопасность,
  • если бэкенду необходимо обработать результат,
  • если вызов(ы) могут выполняться длительное время.

Если вызов выполняется длительное время, поместите его в Job.

Для этого потребуется некоторый код на Ruby в плагине и одна из упомянутых выше библиотек.

Разработка плагинов для Discourse не всегда проста: это большая, сложная и имеющая собственные предпочтения платформа. Однако здесь есть хорошие официальные руководства и множество существующих плагинов с открытым исходным кодом, которые можно изучить (см. тег #plugin и ссылки на GitHub). Попробуйте найти плагин, решающий похожую задачу, и посмотрите, как это реализовано в коде.

Если изменения носят поверхностный характер, рассмотрите возможность использования компонента темы. Ознакомьтесь с руководствами по разработке тем.

Посмотрите примеры, например этот: discourse-tc-quote-of-the-day/get-quote.js.es6 в ветке master проекта merefield/discourse-tc-quote-of-the-day (github.com)