Confluence REST API 接口报405错误

我希望通过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"
            }
        }
    }

@Kenny

我好像找到你的问题在那里了和你为什么会有 405 的错误。

你应该是部署的是 Confluence 服务器的版本吧,上面的方法只针对 Cloud 版本可以用。

根据我访问的链接: Index of atlassian-confluence/REST

上面有 2 个版本,一个是服务器版本,一个是 Cloud 版本。

这个 2 个版本可用的 API 是不一样的。

下面的链接是你可以可访问的服务器版本: https://docs.atlassian.com/atlassian-confluence/REST/6.6.0/

在这个版本中是没有你需要的方法的。

因此我觉得你是没有办法实现你需要的目标了,如果你使用的是服务器版本的 Confluence 的话。

好的了解了,看来是我部署的版本与查找的 API 不一致,多谢您的帮助 :smile: :smile: :smile:

不客气,不客气。

希望能够帮助到你,我也是才知道 Confluence 有 2 个不同的 API 版本。