如何在 discourse 中调用第三方 API

你好,

我想知道,是否有一种方法可以在 Discourse 中调用使用 Node.js 创建的第三方自定义 API?

欢迎提供反馈。

谢谢

只要所有交互都通过 HTTP 进行,API 是用什么语言编写的并不重要。

您可能需要在主题组件中编写一些 JavaScript Ajax 调用,或者在适当的情况下,使用 Ruby 编写新的插件代码,通过合适的 Ruby 库(如 Excon 或 Httparty)发起 HTTP 请求。

1 个赞

感谢回复 @merefield,我很感激您的反馈。
我是 Discourse 开发的新手。此前,我曾为基于 Node.js 的 NodeBB 社区 CMS 做过开发工作。在那里,我进行了大量定制(例如创建自定义 API 来调用 Zoho 工单数据、获取 Vimeo 视频列表等)。因此,我希望能实现相同的功能,或者在 Discourse 中创建相应的 API,并将响应数据渲染到某些静态页面上展示给用户。

谢谢!

请使用后端发起调用:

  • 如果你需要安全性
  • 如果你需要后端处理结果
  • 如果调用可能耗时较长

如果耗时较长,请将其放入一个 Job 中。

这将需要在插件中使用一些 Ruby 代码,并依赖上述提到的某个 gem。

进入 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 个赞