我正在开发一个集成,通过 API 发布并同步附属主题到 Discourse。为了进行设置诊断,我希望读取论坛当前的创作限制,以便集成在尝试创建或更新主题之前对内容进行预检。
我试图确认访问权限的设置包括:
min_topic_title_length
max_topic_title_length
min_first_post_length
min_post_length
max_post_length
max_tags_per_topic
max_tag_length
tagging_enabled
create_tag_allowed_groups
tag_topic_allowed_groups
我首先检查了 /site.json,它是可访问的,对于公开的功能提示很有用,但它似乎没有暴露这些具体的创作限制设置。
使用非管理员机器人用户的 API 密钥时,以下路径返回了 404:
/site_settings.json
/admin/site_settings.json
/admin/site_settings
在将机器人用户设为管理员后,以下路径可以正常工作:
/admin/site_settings.json
/admin/site_settings
使用的请求头:
Accept: application/json
Api-Key: ...
Api-Username: discussbridge-bot
X-Requested-With: XMLHttpRequest
/site_settings.json 仍然返回 404。
我的问题:
/admin/site_settings.json是否是读取当前站点设置的预期 API 路径?- 是否需要管理员用户权限,还是有受支持的只读/细粒度 API 作用域用于此目的?
/site_settings.json是否已弃用、依赖于插件,或者预期不存在?- 对于集成,推荐的模式是使用具有管理员权限的诊断/设置密钥来读取设置,同时使用权限较低的发布密钥来进行正常的主题/帖子同步工作吗?
目标不是通过 API 更改设置,而是在设置诊断期间仅读取它们,以便集成