我正在尝试进行一些自定义(如此处和此处所述),这些操作似乎需要对 Ember 和 Rails 有扎实的理解,同时还需要了解 Discourse 底层代码库是如何协同工作的。
因此,进展缓慢(我更熟悉 Angular 和 JavaScript,对 Discourse 尚属新手),所以我正在寻找加快这些自定义功能上线的方法。
那么,问题来了:与其创建一个操纵 Discourse 模板的插件,我能否通过 JSON API 实现相同的结果?
我认为,熟练掌握 API 比深入理解 Ember 和 Discourse 代码库更高效,并且可以使用纯 JavaScript 或 jQuery 等语言来实现。
我认为答案是肯定的。正如 团队 所说,Discourse 能做的任何事都可以通过 API 完成。
我假设这是可行的,但提出这个问题的原因是:JSON API 的典型使用场景是一个独立的应用程序希望与 Discourse 应用进行交互。而在我的情况下,将是 Discourse 应用调用其自身的 API。
例如,我之前曾询问过如何在群组索引页面上获取并显示每个群组的 群组所有者。通常情况下,你会为此构建一个插件。
而在我的方案中,我会这样做——在我的自定义仪表盘的 <head> 部分——在群组索引页面加载时调用一个 AJAX 函数,发送 API 请求以获取每个群组的群组所有者,然后将这些信息插入到每个群组列表中。
这样做可行吗?由于请求来自应用本身,我是否需要为此生成一个 API 密钥?