这是我目前所获得的,它创建了一个新的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"}
是权限错误吗?我知道我无权删除。
答案 0 :(得分:6)
使用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 Payload:
{
"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
}
}
不要忘记使用:
答案 1 :(得分:0)
尝试使用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
答案 2 :(得分:0)
如果有人在寻找javascript解决方案,那么这是我对其他问题的回答 Unexpected grunt-http error when posting to Atlassian Confluence api
在这里你可以找到我在汇合黑客马拉松上开发的工作代码 https://github.com/devex-web-frontend/dxWebPlugins/blob/master/src/confluence/helpers/buffer.js