适用于不受支持的 Discourse 版本的 Discourse_theme 命令行工具

你好,

首次尝试运行 watch 命令时,我遇到了 403 错误。
控制台输出:
discourse_theme watch .
» 正在使用来自 /Users/davidpesava/.discourse_theme 的 http://mywebsize.com/
» 正在使用来自 /Users/davidpesava/.discourse_theme 的 API 密钥
https://mywebsite.com/about.json 出现 403 错误

生成的 API 密钥属于管理员用户,我已多次尝试使用 --reset 参数。

多人日常使用 CLI,因此我认为这不太可能是 CLI 的 bug。能否尝试使用相同的 API 密钥通过 curl 或类似工具进行测试?

https://docs.discourse.org/ 的顶部有一些关于如何操作的示例。

另外,能否提供一张 Discourse 管理面板中 API 密钥配置的截图?(请务必遮挡实际的密钥)

谢谢您的回复。

使用 curl 可以正常工作,我能获取到该 JSON。
我尝试了同事的 API,上次还能用,但这次不行了

您的 Discourse 实例是如何配置的?您是否遵循了标准安装指南?它是否位于子文件夹中?您是否启用了任何反向代理?

刚才尝试了几种方法,问题是否可能出在版本上?我拥有最新版的主题 CLI,但服务器上的版本稍旧。

我可以使用旧版本的主题 CLI 吗?

啊,这就解释得通了。主题 CLI 最近已迁移为使用基于标头的 API 认证方式。所有当前版本的 Discourse(包括稳定分支)均支持此功能。

如果您使用的是较旧版本的 Discourse,我强烈建议您尽快升级,以免错过任何关键的安全修复或漏洞修复。

您可以执行类似以下操作:

gem install discourse_theme -v "<0.3.0"

感谢支持,现在可以了