Sto migrando dall'API SOAP di Confluence all'utilizzo di their REST API. Vedo che è disponibile il supporto for adding attachments to a page (by doing a POST) ma sto riscontrando problemi per il suo funzionamento (ricevo un messaggio di errore 403: Proibito). Ho altri elementi "get" che funzionano bene attraverso il resto della API ma fare un post per gli allegati sembra continuare a fallire.In C#, qual è il modo giusto per pubblicare gli allegati all'API REST di Confluence?
Ecco il mio codice corrente (dato un nome specifico):
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");
Riesci a vedere se sto facendo qualcosa di sbagliato in precedenza?
docs Confluence soggiorni: "restituita se gli allegati è disattivata o se non si dispone dell'autorizzazione per aggiungere allegati a questo contenuto.". Hai provato a usare CURL come nella pagina qui https://docs.atlassian.com/confluence/REST/latest/#d3e787 e vedere se restituisce ancora 403? –
Ho appena provato arricciatura e ottengo un errore di arricciatura <56> Errore Recv: la connessione è stata ripristinata. Ho usato questo sintassi curl -D- -u utente: pwd -X POST -H "X-Atlassian-Token: nocheck" -F "[email protected]" htttp: // esempio: 9088/rest/api/content/71105117/child/attachment (NOTA: in questo commento inserisco una "t" extra in modo tale che SO non provi a convertirlo in un collegamento ipertestuale – leora
@SimonMourier - inoltre, è richiesta un'altra autenticazione sul codice C# sopra? – leora