我正在從Confluence的SOAP API遷移到使用their REST API。我看到有支持for adding attachments to a page (by doing a POST)但我遇到的問題得到它的工作(我得到一個403:禁止錯誤消息)。我有其他「get」項通過其餘api正常工作,但做一個附件帖子似乎仍然失敗。在C#中,將附件張貼到Confluence REST API的正確方法是什麼?
這裏是我當前的代碼(給出了具體的文件名):
byte[] rawData = File.ReadAllBytes(filename);
var pageId = "11134";
var url = new Uri("http://example.com:9088/rest/api/content/" + pageId + "/child/attachment");
var requestContent = new MultipartFormDataContent();
var imageContent = new ByteArrayContent(rawData);
imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse(attachement.contentType);
requestContent.Add(imageContent, "file", attachement.fileName);
requestContent.Headers.Add("X-Atlassian-Token", "nocheck");
你能看到,如果我在做什麼上面了?
合流文檔留下:「返回如果附件被禁用,或者如果你沒有權限將附件添加到這些內容。」您是否嘗試過使用CURL,如https://docs.atlassian.com/confluence/REST/latest/#d3e787中的頁面,看看它是否仍然返回403? –
我只是嘗試捲曲,我得到一個錯誤捲曲<56> Recv失敗:連接被重置。我使用了這個語法curl -D- -u user:pwd -X POST -H「X-Atlassian-Token:nocheck」-F「[email protected]」htttp://例子:9088/rest/api/content/71105117 /孩子/附件(注意:我在這個評論中的「http」中加了一個額外的「t」,所以SO不會嘗試將它轉換爲超鏈接 – leora
@SimonMourier - 還有,C#代碼還需要其他身份驗證??以上 – leora