0

我想使用 Cloud REST API 和“curl”命令将附件移动到不同的空间(即更新 Confluence 页面中附件的父容器)。我查找了 REST API 端点 URL,发现了这个:

PUT /rest/api/content/{id}/child/attachment/{attachmentId}

有人可以为正确构造的 JSON 输入提供一个示例来实现这一点吗?我尝试使用下面的方法将 ID 为“att000”和当前版本 5 的名为“test.jpeg”的附件移动到 ID 为 1234 的父级,但它失败了:

curl -v -u 'admin:password' -X PUT -H 'Content-Type:application/json' -d '{"id":"att000","type":"attachment","title":"test.jpeg","version":{"number":5,"minorEdit":false},"ancestors":[{"id":1234}]' -H ‘X-Atlassian-Token:access-token' https://test.atlassian.net/wiki/rest/api/content/170234/child/attachment | python -m json.tool

下面给出的是错误消息

< HTTP/1.1 415 Unsupported Media Type
.
.
.
No JSON object could be decoded

感谢您的时间!

4

2 回答 2

0

我相信在您的curl示例中,您是在不可能的空间下上传它的。Confluence 中的附件需要在内容下。看看下面的例子:

curl -v -S -u admin:admin -X POST -H "X-Atlassian-Token: no-check" -F "file=@myfile.txt" -F "comment=this is my file" "http://localhost:8080/confluence/rest/api/content/3604482/child/attachment" | python -mjson.tool
于 2017-04-08T11:47:39.160 回答
0

您必须container在请求对象中设置属性。

指定"container":{"id":"123456","type":"attachment"}

curl -v -u 'admin:password' -X PUT -H 'Content-Type:application/json' -d '{"id":"att000","type":"attachment","title":"test.jpeg","version":{"number":5,"minorEdit":false},"container":{"id":"123456","type":"attachment"}, "ancestors":[{"id":1234}]' -H ‘X-Atlassian-Token:access-token' https://test.atlassian.net/wiki/rest/api/content/170234/child/attachment | python -m json.tool

id => 正在移动附件的页面的 id。

于 2017-06-06T13:51:51.040 回答