Définit reply_to lors de la création d'un message via l'API ?

Hi. Is there a way to specify the message ID to which a new message responds when we create this last one through Discourse API?

I believe you should be able to use the key - reply_to_post_number in your POST request

http://docs.discourse.org/#tag/Posts%2Fpaths%2F~1posts%2Fpost

3 « J'aime »

Bonjour, je me permets de rouvrir ce fil de discussion. J’utilise actuellement l’API pour convertir un système de conversation personnalisé en Discourse, et j’ai des difficultés avec les réponses.

J’utilise l’API /posts, avec le paramètre reply_to_post_number, et le message ne s’affiche pas du tout comme une réponse. J’ai vérifié que reply_to_post_number correspond au post_number du message précédent, sans succès.

J’ai essayé de faire de l’ingénierie inverse de l’API, j’ai essayé d’ajouter nested_post à la requête, car c’était la principale différence entre mon appel et celui de l’interface, mais le résultat est toujours le même…

Notez que le message créé via l’API a bien le reply_to_post_number correctement défini. Il ne s’affiche tout simplement pas comme tel sur l’interface…

Merci pour toute piste !

1 « J'aime »

OK, je viens de créer un compte car j’avais le même problème et j’ai trouvé la solution !

Comme Bertrand l’a dit ; vous pouvez définir le reply_to_post_number toute la journée, mais dans l’interface utilisateur, il n’est pas affiché comme une réponse normale. Lorsque j’ai essayé de créer une réponse de la même manière mais avec mon compte administrateur, cela a fonctionné ! Cela indiquait que cela avait quelque chose à voir avec les autorisations.

J’ai découvert qu’en modifiant les paramètres de sécurité de la catégorie à laquelle appartenait le message, de sorte que le groupe par défaut « Tout le monde » ait tous les droits (donc aussi les droits de création qui étaient décochés par défaut pour moi), cela fonctionne maintenant ! Je ne suis pas sûr de pourquoi ce droit est nécessaire car la création fonctionne déjà (je peux créer un message), et le droit de réponse était déjà coché, mais bon… ça fonctionne :smiley:

1 « J'aime »

Salut @greedNotGood @Bertrand_Gorge Je construis un projet où je dois ajouter une réponse à un post via l’API Discourse. Je suis nouveau sur Discourse, pouvez-vous m’aider avec une requête curl ou une documentation à ce sujet ? J’apprécie votre aide.

Gaurav T

Bonjour @Gaurav_Tewari, la documentation se trouve ici : Discourse API Docs

Vous trouverez des exemples curl en haut de cette même page. Bonne chance !

Salut à tous.

J’essaie de créer un message qui s’affichera en réponse à un autre message, mais comme plusieurs personnes avant moi, je n’ai pas beaucoup de succès.

J’envoie reply_to_post_number comme l’une des clés dans la charge utile vers /posts.json, avec la valeur prise du post_number d’un autre message, mais cela ne fait rien. Les paramètres de sécurité de la catégorie sont entièrement permissifs pour tous les utilisateurs.

Il est intéressant de noter que la réponse change lorsque j’utilise reply_to_post_number dans la requête POST par rapport à lorsque je ne l’utilise pas. Si je ne l’envoie pas avec la requête, 'reply_to_post_number': None, sera présent dans la réponse, cependant, si je l’envoie avec la requête avec une valeur entière pointant vers le message précédent, la réponse n’aura pas du tout cette clé.

Cela semble totalement non documenté, ce dont je suis bien conscient, mais toute aide serait appréciée. La documentation de l’API Discourse n’est d’aucune aide car elle n’y est pas du tout mentionnée.

Merci.

1 « J'aime »

J’ai essayé de répondre à un post avec l’API et cela fonctionne :


Cependant, il manque effectivement des informations dans docs.discourse.org. :slight_smile:

Si vous le souhaitez, vous pouvez également contribuer à cette documentation : Contributing to the Discourse API documentation

2 « J'aime »

La chose étrange est que je peux le faire depuis insomnia aussi, ou n’importe quelle requête simple, mais quand je le fais depuis python (en utilisant juste requests, pas l’API python), ça ne semble pas fonctionner.

Je viens de remarquer que les données semblent être là mais elles ne s’affichent pas dans la vue principale.

Même en mode sans échec (enfin, juste pour être sûr…) ?

Que retourne https://your-discourse.com/posts/{id}.json (où {id} est le nouvel ID du post) ?

Y a-t-il une valeur pour la clé "reply_to_post_number" ?

Je ne pense pas pouvoir vous aider davantage malheureusement et je n’ai jamais utilisé Python, je laisse les vrais connaisseurs essayer de vous aider :slight_smile:

Peut-être que coller votre script donnerait un indice ?

Il est difficile de le dire d’après votre exemple, mais si vous répondez à un message et que votre réponse est le message suivant, nous masquons les informations répondre au message dans l’interface utilisateur.

4 « J'aime »

Batman Facepalm GIF by WE tv

S’il y avait un plus grand facepalm, il tiendrait ici. C’est bien sûr le problème et j’ai fini par tester précisément sur le type de publication qui se trouve à côté de sa cible de réponse. Cela a parfaitement du sens, bien sûr, mais ce n’est pas évident de comprendre pourquoi cela s’affiche parfois et pas d’autres fois.

Néanmoins, le mystère est résolu, merci à tous. J’apprécie beaucoup.

3 « J'aime »

Si cela peut vous aider à vous sentir mieux, je pense que beaucoup de personnes travaillant chez Discourse ne connaissent pas toutes les fonctionnalités du logiciel :grin: (au moins, cela me fait me sentir mieux :laughing:)

2 « J'aime »

Je comprends tout à fait. Je dirige une entreprise qui assure la maintenance et le support d’un grand projet open source. Il arrive un moment où la connaissance collective est la seule solution.

4 « J'aime »

Ce sujet a été automatiquement fermé après 2301 jours. Les nouvelles réponses ne sont plus autorisées.