Nous utilisons des appels API à partir d’un programme externe pour créer automatiquement certains sujets.
Nous voulons maintenant changer automatiquement l’image du logo de certaines catégories, en extrayant l’image de certains messages précédemment créés dans Discourse.
Mais dans la documentation de l’API, nous n’avons trouvé aucune option pour définir l’image du logo des catégories, seulement la couleur, le nom ou la couleur du texte. Docs API Discourse
Y a-t-il un moyen de le faire ?
Cherchons-nous au mauvais endroit dans la documentation ?
Merci, je vais examiner cela plus en détail.
Il semble que vous puissiez l’analyser à l’aide de l’outil de développement du navigateur.
Mais avec l’image du logo d’une catégorie, il n’y a pas de mode d’édition, juste un bouton pour ouvrir une boîte de dialogue pour la sélectionner, et je ne vois pas dans le navigateur quel champ Discourse met à jour.
Le problème que j’ai est qu’il n’y a pas de méthode PUT pour définir le logo.
Il existe une méthode POST où vous pouvez établir toutes les propriétés de la catégorie.
Mais cette méthode POST est destinée à la création d’une catégorie, pas à sa mise à jour et à la modification de ses propriétés.
Peut-être qu’elle peut être utilisée d’une manière ou d’une autre pour mettre à jour la catégorie.
Lorsque vous téléchargez un logo, le point de terminaison uploads.json est appelé avec l’image. Si cela réussit, vous obtenez un id dans la réponse.
Appelez maintenant le point de terminaison que vous voyiez et utilisez le paramètre uploaded_logo_id avec l’id que vous avez obtenu à l’étape précédente.
J’ai essayé de faire de l’ingénierie inverse en utilisant les outils de développement du navigateur.
Oui, il semble que vous utilisiez d’abord uploads.json pour le télécharger.
Dans notre cas, l’image est déjà dans le système, car c’est une photo intégrée dans un post, donc j’imagine que nous pouvons obtenir l’ID à partir du post.
pour un exemple d’utilisation de la nouvelle API de téléchargement d’images dans Discourse. C’est pour un objectif différent, mais la même chose s’applique probablement.