Confluence Cloud:如何通过API更新内容状态及查询状态存储位置
Confluence内容状态API查找与修改指南
问题定位
你当前用的version.status和拼错的extentions(应为extensions)都不是获取内容状态的正确expand参数,Confluence的内容状态实际存在于页面的metadata属性中。
正确获取内容状态的请求URI
把expand参数改成metadata.properties.content-status,完整请求地址:
https://MyDomain.atlassian.net/wiki/rest/api/content/145468621376?expand=space,body.storage,metadata.properties.content-status
返回结果里,内容状态会在metadata.properties['content-status'].value节点下,包含状态的id、name等信息。
用API修改内容状态的步骤
- 先通过上面的GET请求拿到当前页面的版本号,确保修改时版本号递增1
- 发送PUT请求到
https://MyDomain.atlassian.net/wiki/rest/api/content/145468621376 - 请求体示例(替换成实际的版本号和状态ID):
{ "version": { "number": 2 }, "metadata": { "properties": { "content-status": { "value": { "id": "xxxxxx", "name": "已发布" } } } } }
注意事项
- 必须拥有对应空间的编辑权限,以及内容状态的修改权限
- 状态ID可以在空间管理的状态列表页面获取,或者从GET请求返回的结果里提取
- 版本号必须严格递增,否则会返回409冲突错误
内容的提问来源于stack exchange,提问作者yazzu
相关产品推荐
相关产品推荐

