我希望通过REST API接口操作页面限制,以达到设置某一个页面的可读可编辑人员,但是关于添加/更新限制的接口均报405错误。
如果将url替换为其他的接口比如获取用户id就可以访问,所以应该不是权限或者请求头的问题,请问这个接口现在被废弃了嘛?
接口为:/wiki/rest/api/content/{id}/restriction
我希望通过REST API接口操作页面限制,以达到设置某一个页面的可读可编辑人员,但是关于添加/更新限制的接口均报405错误。
如果将url替换为其他的接口比如获取用户id就可以访问,所以应该不是权限或者请求头的问题,请问这个接口现在被废弃了嘛?
接口为:/wiki/rest/api/content/{id}/restriction
我大致看了下 405 错误是方法不允许的错误。
你看下你发送请求的方法是什么?
根据文档上面的说法,如果需要更新限制,应该使用的是 PUT 的方法,你是不是默认使用了 POST 的方法?
你换个方法试试看。
我们没有怎么用过 Confluence 的 API 进行测试。
如果有机会的话,我们会测试下。
基于 API 的请求,能否将你的 API 请求参数发上来看看,应该还是需要一个 Token 的,你应该创建了 Token 了吧。
另外你的用户是否具有限制页面的权限呢?
用户是有权限的,我可以在页面上正确添加限制。参数的话是是这个格式:
data = {
"operation": "read",
"restrictions": {
"user": {
"type": "user",
"username": "xxx"
}
}
}
我好像找到你的问题在那里了和你为什么会有 405 的错误。
你应该是部署的是 Confluence 服务器的版本吧,上面的方法只针对 Cloud 版本可以用。
根据我访问的链接: Index of atlassian-confluence/REST
上面有 2 个版本,一个是服务器版本,一个是 Cloud 版本。
这个 2 个版本可用的 API 是不一样的。
下面的链接是你可以可访问的服务器版本: https://docs.atlassian.com/atlassian-confluence/REST/6.6.0/
在这个版本中是没有你需要的方法的。
因此我觉得你是没有办法实现你需要的目标了,如果你使用的是服务器版本的 Confluence 的话。
好的了解了,看来是我部署的版本与查找的 API 不一致,多谢您的帮助
不客气,不客气。
希望能够帮助到你,我也是才知道 Confluence 有 2 个不同的 API 版本。