我正在尝试按照远程API文档中提供的指南将.xls文件上传到Confluence维基页面: https://developer.atlassian.com/confdev/confluence-server-rest-api/confluence-rest-api-examples#ConfluenceRESTAPIExamples-Uploadanattachment
curl -v -S -u admin:admin -X POST -H "X-Atlassian-Token: nocheck" -F "file=@myfile.txt" -F "comment=this is my file" "http://localhost:8080/confluence/rest/api/content/3604482/child/attachment" | python -mjson.tool
这就是我在做的事情:
curl -v -S -u username:password -X POST -H "X-Atlassian-Token: nocheck" -F "file=@/path/to/local/excelsheet.xls" https://<Confluence server>/display/page
我省略了Python -mjson.tool,因为它说“没有JSON对象可以被解码”,因为我没有发布JSON,所以没有意义。
但是上面的curl命令对我不起作用。我在控制台上看到目标页面的html,文件没有上传。我试过用几种方法修改curl命令,但没有任何效果。
另外,对于我尝试上传到的网页的网址,它没有文档中建议的任何contentID。目标URL是接受附件并显示上载文件列表的页面。
请有人指出我哪里出错了?我对Curl没有多少经验。
答案 0 :(得分:3)
您需要在网址中使用REST API:.../confluence/rest/api/content/$PAGE_ID/child/attachment
,现在您正在使用视图页面的网址。
答案 1 :(得分:3)
David Vonka回答是正确的。它必须是“不检查”(而不是“ nocheck ”)
如此纠正的命令是:
curl -v -S -X POST -H "X-Atlassian-Token: no-check" -F "file_0=@<file name>" -F "comment_0=<upload comment>" "http://<server>:<port>/<context>/pages/doattachfile.action?pageId=<page id>&os_username=<username>&os_password=<password>"
注意:替换所有&lt; ...&gt;具有您的值的占位符
答案 2 :(得分:1)
我不认为confluence rest api允许文件上传。请改为执行此操作
curl -v -S -X POST -H "X-Atlassian-Token: nocheck" -F "file_0=@<file name>" -F "comment_0=<upload comment>" "http://<server>:<port>/<context>/pages/doattachfile.action?pageId=<page id>&os_username=<username>&os_password=<password>"
替换所有&lt; ...&gt;具有您的值的占位符
答案 3 :(得分:0)
API POST语法应从“ https://ConfluenceServer/display/page”更正为正确的res / api / content语法,例如:“ https://companyName.atlassian.net/display/rest/api/content/pageIDxxxxx”:
curl -v -S -X POST -H "X-Atlassian-Token: no-check" -F "file_0=@<file name>" -F "comment_0=<upload comment>" https://<companyName>.atlassian.net/display/rest/api/content/<pageID15398762>/child/attachment
可以在URL显示页面中找到pageID。例如: https://companyName.atlassian.net/display/spaces/DEV/pages/pageID15398762/Page+Title+Name
有关API语法的更多详细信息,请参阅此文档:
https://docs.atlassian.com/atlassian-confluence/REST/6.6.0/#content-createContent