你好,
我想知道,是否有一种方法可以在 Discourse 中调用使用 Node.js 创建的第三方自定义 API?
欢迎提供反馈。
谢谢
你好,
我想知道,是否有一种方法可以在 Discourse 中调用使用 Node.js 创建的第三方自定义 API?
欢迎提供反馈。
谢谢
只要所有交互都通过 HTTP 进行,API 是用什么语言编写的并不重要。
您可能需要在主题组件中编写一些 JavaScript Ajax 调用,或者在适当的情况下,使用 Ruby 编写新的插件代码,通过合适的 Ruby 库(如 Excon 或 Httparty)发起 HTTP 请求。
感谢回复 @merefield,我很感激您的反馈。
我是 Discourse 开发的新手。此前,我曾为基于 Node.js 的 NodeBB 社区 CMS 做过开发工作。在那里,我进行了大量定制(例如创建自定义 API 来调用 Zoho 工单数据、获取 Vimeo 视频列表等)。因此,我希望能实现相同的功能,或者在 Discourse 中创建相应的 API,并将响应数据渲染到某些静态页面上展示给用户。
谢谢!
请使用后端发起调用:
如果是耗时较长的操作,请将其放入 Job 中。
这将需要在插件中编写一些 Ruby 代码,并使用上述提到的某个 gem。
入门 Discourse 插件开发并非易事,因为这是一个庞大、复杂且带有强烈设计理念的平台,但这里有一些官方优质指南,还有大量现有的开源插件可供参考(参见 Customization > Plugin 及指向 GitHub 的链接)。尝试找一个功能相似的项目,看看它是如何在代码中实现的。
如果改动较为表面,可以考虑使用主题组件(Theme Component)。查看这里的主题开发指南。
可以参考一些示例,例如这个:discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)
好的 @merefield,我正在查看。感谢您的反馈。