你好!
我想触发“在最后一次回复后 x 天关闭主题”的功能,但我不太清楚需要哪种权限。我并不想授予完整的写入权限。
具体端点:
POST /t/{ID}/timer
示例负载:
status_type=close&based_on_last_post=true&duration_minutes=20160
有人能指点一下我该怎么做吗?
提前感谢!
你好!
我想触发“在最后一次回复后 x 天关闭主题”的功能,但我不太清楚需要哪种权限。我并不想授予完整的写入权限。
具体端点:
POST /t/{ID}/timer
示例负载:
status_type=close&based_on_last_post=true&duration_minutes=20160
有人能指点一下我该怎么做吗?
提前感谢!
嘿,Mathew,
你能分享一下触发的那个用于审查的错误吗?
嘿 @pedro
除非我授予完全写入权限,否则我一直都会收到 403 错误。
从 API 视图中不同支持 URL 的提示来看,似乎没有一个与计时器的格式(/t/{ID}/timer)相匹配。但我可能只是忽略了什么 ![]()
我倾向于不授予完全写入权限,所以只是想弄清楚这个特定功能需要哪种权限。
谢谢!
403 错误可能与主题计时器端点所需的权限有关,而不是 duration_minutes 或 based_on_last_post 参数。
建议查看当前 Discourse 源代码中 POST /t/{id}/timer 端点的授权要求,而不仅仅依赖 API 文档中显示的权限。计时器操作可能需要与 UI 使用的相同主题级写入/管理权限,这可以解释为什么目前完全写入权限是有效的。
如果存在针对主题计时器的更细粒度权限,应该可以通过端点的授权检查以及相应的策略/守卫方法来确定。否则,将 API 密钥限制为仅所需的主题范围,比授予更广泛的写入权限更可取。