Comment trouver des publications supprimées via l'API ?

J’essaie d’utiliser l’API pour maintenir une liste des publications récentes. Cela fonctionne bien avec posts.json.

Mais le problème que je rencontre est que les publications supprimées n’apparaissent pas dans posts.json. Et il ne semble pas exister de fichier posts_deleted.json ou d’équivalent.

Alors, comment puis-je retrouver toutes les publications supprimées via l’API ? Cela semble être une chose simple, mais je n’arrive pas à trouver la solution. Est-ce que j’oublie quelque chose ?

Je ne pense pas que cela soit possible. Peut-être que si vous publiez quelques détails sur la raison pour laquelle vous essayez de trouver les messages supprimés via l’API, quelqu’un aura des idées sur des approches alternatives pour résoudre le problème que vous cherchez à régler.

Une possibilité est que vous puissiez configurer un webhook d’événement de message vers un service externe. Ce webhook sera déclenché lorsqu’un message est créé, modifié, supprimé ou récupéré. Il est possible que ce webhook vous fournisse les informations dont vous avez besoin.

1 « J'aime »

J’utilise l’API pour stocker les publications dans ma base de données afin d’éviter d’appeler l’API à chaque fois que je souhaite afficher des données pour chaque utilisateur. Cela me permet également de relier pleinement les données à toutes mes tables, de les intégrer dans des vues, etc.

Je peux ainsi afficher des informations sur les publications de mon site web, en dehors de Discourse.

Cependant, comme il n’existe apparemment aucun moyen de savoir quand des publications sont supprimées, je finis par afficher certaines publications supprimées, et les utilisateurs ne comprennent pas pourquoi les liens ne fonctionnent pas correctement.

Je ne comprends pas pourquoi il n’y a aucun moyen de trouver les publications supprimées ? Cela semble être un outil très évident. Il y a même un champ dans posts.json pour « user deleted », mais ce champ ne peut apparemment jamais être vrai, car posts.json n’affichera jamais une publication supprimée. Donc, soit ce champ ne devrait pas exister, soit posts.json devrait afficher les publications supprimées.

1 « J'aime »

C’est une excellente approche !

Je pense que pointer un webhook d’événement de publication vers votre application fonctionnerait pour cela. Lorsqu’une publication est supprimée, l’en-tête X-Discourse-Event du webhook sera défini sur post_destroyed. Vous pourriez enregistrer les identifiants des publications supprimées dans votre application et exclure ces publications lors de l’affichage du contenu Discourse sur votre site.

2 « J'aime »