9

Remote API ドキュメントに記載されているガイドラインに従って、.xls ファイルを Confluence wiki ページにアップロードしようとしています: https://developer.atlassian.com/confdev/confluence-server-rest-api/confluence-rest-api- examples#ConfluenceRESTAPIExamples-添付ファイルのアップロード

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

「JSONオブジェクトをデコードできませんでした」と書かれているため、Python -mjson.toolを省略しましたが、JSONを投稿していないため意味がありませんでした。

ただし、上記のcurlコマンドは機能しません。コンソールにターゲット ページの html が表示されますが、ファイルがアップロードされません。curl コマンドをいくつかの方法で変更しようとしましたが、何も機能しませんでした。

また、アップロードしようとしているページの URL には、ドキュメントで提案されている contentID がありません。対象の URL は、添付ファイルを受け入れ、アップロードされたファイルの一覧を表示するページです。

誰かが私が間違っているところを指摘してもらえますか? 私はカールの経験があまりありません。

4

4 に答える 4

3

url: で REST API を使用する必要があり.../confluence/rest/api/content/$PAGE_ID/child/attachment、現在はビュー ページの url を使用しています。

于 2014-03-21T06:40:45.643 に答える
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>"

すべての <...> プレースホルダーを自分の値に置き換えます

于 2014-03-22T13:42:07.730 に答える