Je souhaite déplacer une pièce jointe vers un espace différent (par exemple, mettre à jour le conteneur parent d'une pièce jointe dans une page Confluence) en utilisant Cloud REST API et la commande "curl". Je levais les yeux URL du noeud final API REST et trouvé ceci:Atlassian Confluence: mise à jour du conteneur parent d'une pièce jointe
PUT /rest/api/content/{id}/child/attachment/{attachmentId}
quelqu'un pourrait-elle fournir un exemple pour une entrée JSON construit correctement pour y parvenir? J'ai essayé celui ci-dessous pour déplacer une pièce jointe appelée « test.jpeg » avec ID « att000 » et la version actuelle de 5 à parent avec l'ID 1234, mais il échoue:
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
Ci-dessous est le message d'erreur
< HTTP/1.1 415 Unsupported Media Type
.
.
.
No JSON object could be decoded
Nous vous remercions de votre temps!
Merci pour votre réponse, Saleh. J'ai corrigé mon entrée JSON, mais je suis toujours incapable de recevoir une réponse. Je reçois les erreurs "415 Unsupported Media Type" et "No JSON object could be decoded". –
Ah gotcha. Couple de questions, pourquoi vous n'utilisez pas poste et vous utilisez put? Aussi bien que je ne vois pas -F "file = @ locationoffile" dans votre boucle. –
Merci pour votre réponse! J'aurais besoin d'utiliser "file = @ locationoffile" pour mettre à jour les données binaires de la pièce jointe. Cependant, j'essaye de mettre à jour seulement les données non-binaires d'une pièce jointe (PUT au lieu de POST). Référence: https://docs.atlassian.com/atlassian-confluence/REST/latest/#content/{id}/child/attachment-update –