【问题标题】:Atlassian Confluence : Updating parent container of an attachmentAtlassian Confluence:更新附件的父容器
【发布时间】:2017-04-07 21:45:11
【问题描述】:

我想使用 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

感谢您的宝贵时间!

【问题讨论】:

    标签: confluence confluence-rest-api


    【解决方案1】:

    我相信您的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
    

    【讨论】:

    • 感谢您的回复,萨利赫。我更正了我的 JSON 输入,但我仍然无法收到回复。我收到“415 Unsupported Media Type”和“No JSON object could be decoded”错误。
    • 啊,明白了。几个问题,为什么你不使用 post 而你使用 put?而且我在你的 curl 中没有看到 -F "file=@locationofile"。
    • 感谢您的回复!我需要使用“file=@locationofile”来更新附件的二进制数据。但是,我正在尝试仅更新附件的非二进制数据(PUT 而不是 POST)。参考:docs.atlassian.com/atlassian-confluence/REST/latest/#content{id}/child/attachment-update
    【解决方案2】:

    您必须在请求对象中设置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。

    【讨论】:

      猜你喜欢
      • 2018-09-19
      • 1970-01-01
      • 2017-03-16
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多