Et aussi, qu’est-ce que raw_old ? Il est seulement indiqué que chaque élément est une « chaîne » de ce que je dois envoyer via PUT : dans le corps JSON.
Je tente simplement d’ajouter une ligne en haut du message (qui a été initialement créé par un Bot) où nous devons ajouter un lien vers un autre site. Notez également que l’objectif est d’afficher ce premier paragraphe sous le titre de la catégorie, ou dans l’élément cooked
à afficher (défini juste sous le titre de la catégorie).
J’espère que cela a du sens. Sinon, demandez-moi de clarifier.
Je ne suis pas vraiment certain de l’utilité actuelle de raw_old, mais vous n’avez qu’à utiliser le champ raw pour remplacer l’intégralité du message. Ainsi, dans votre code, vous récupéreriez le message que vous souhaitez modifier, ajouteriez votre ligne en haut, puis mettriez à jour le message en utilisant le champ raw.
Il pourrait être utile de voir comment Discourse procède en modifiant un message en direct sur votre site et en inspectant les appels du navigateur :
C’est également ainsi que procède le gem discourse_api :
Juste une question à ce sujet : faites-vous référence à une documentation différente de celle définie à l’adresse Discourse API Docs ? Ce serait intéressant… Cependant, je me base uniquement sur la documentation de l’API.
Mon objectif simple est d’ajouter un commentaire et un lien sous le nom de la catégorie, ce que je pense que Discourse récupère à partir du premier message du sujet « À propos de… ». Je cherche simplement à savoir ce qui sera inséré dans l’élément
… ou ce que je dois faire pour que mon message apparaisse là. Est-ce que mon explication est claire ?
D’après ce qui précède et mes tentatives, il est impossible de mettre à jour un message en utilisant le champ « cooked » comme l’indique la documentation de l’API. En revanche, cela est possible avec le champ « raw ». Toutes mes tentatives avec « cooked » ont systématiquement renvoyé une erreur indiquant que mon message était invalide car il faisait moins de 20 caractères ou ne constituait pas une phrase claire…
Cependant, il existe d’autres problèmes liés à « raw » que je détaillerai dans un autre message, car ils ne sont pas directement liés à ce sujet.
Oui, merci, j’ai réalisé cela après avoir essayé quelques requêtes Postman et joué un peu avec… également, dans mes tentatives, l’option “cooked” semblait ne rien faire… et je ne suis toujours pas sûr de ce qu’est “raw_old”.