这就是我目前所获得的,它创建了一个新的Confluence页面。它没有更新它。它也发布在根空间TST
,但我希望它在TST/space1/subsection2/updateThisPage
。
curl -v -u admin:admin -X POST -H Content-Type: application/json -d "{\"id\":\"123456\",\"type\":\"page\",\"title\":\"new page\",\"space\":{\"key\":\"TST\",\"title\":\"updateThisPage\"},\"body\":{\"storage\":{\"value\":\"<p>This is the updated text for the new page</p>\",\"representation\":\"storage\"}},\"version\":{\"number\":3}}" http://localhost:8090/rest/api/content?spaceKey=TST&title=updateThisPage
这是我收到的错误消息
{"statusCode":400,"message":"A page with this title already exists: A page already exists with the title new page in the space with key TST"}
会是权限错误吗?我知道我无权删除。
使用request / rest / api / content / {id}。
这对我有用。
curl -u admin:admin -X PUT -H "Content-Type: application/json" -d "{\"id\":\"26738701\",\"type\":\"page\",\"title\":\"new page\",\"space\":{\"key\":\"RO\"},\"body\":{\"storage\":{\"value\":\"<p>UPDATE This is a new page</p>\",\"representation\":\"storage\"}},\"version\":{\"number\":2}}" http://localost:10080/rest/api/content/26738701
JSON有效载荷:
{
"id":"26738701",
"type":"page",
"title":"new page",
"space":{
"key":"RO"
},
"body":{
"storage":{
"value":"<p>UPDATE This is a new page</p>",
"representation":"storage"
}
},
"version":{
"number":2
}
}
别忘了使用:
尝试使用PUT而不是POST。
curl -v -u admin:admin -X PUT -H Content-Type: application/json -d "{\"id\":\"123456\",\"type\":\"page\",\"title\":\"new page\",\"space\":{\"key\":\"TST\",\"title\":\"updateThisPage\"},\"body\":{\"storage\":{\"value\":\"<p>This is the updated text for the new page</p>\",\"representation\":\"storage\"}},\"version\":{\"number\":3}}" http://localhost:8090/rest/api/content?spaceKey=TST&title=updateThisPage
如果有人正在寻找javascript解决方案,这里是我对Unexpected grunt-http error when posting to Atlassian Confluence api这样的另一个问题的答案
在这里你可以找到我在汇合hackathon https://github.com/devex-web-frontend/dxWebPlugins/blob/master/src/confluence/helpers/buffer.js上开发的工作代码