Come trovo i post eliminati tramite API?

Sto cercando di utilizzare l’API per mantenere un elenco dei post recenti. Questo funziona bene usando posts.json.

Ma il problema che sto riscontrando è che i post cancellati non appaiono in posts.json. E non sembra esserci un posts_deleted.json o qualcosa di simile.

Quindi, come posso trovare tutti i post cancellati tramite l’API? Sembra una cosa semplice, ma non riesco a capire. Sto tralasciando qualcosa?

Non credo che sia possibile. Forse, se fornisci alcuni dettagli sul motivo per cui stai cercando di recuperare i post eliminati tramite l’API, qualcuno potrebbe avere idee su approcci alternativi per risolvere il problema che stai affrontando.

Una possibilità è configurare un webhook per eventi sui post che punti a un servizio esterno. Questo webhook verrà attivato quando un post viene creato, modificato, eliminato o recuperato. È possibile che tale webhook ti fornisca le informazioni di cui hai bisogno.

1 Mi Piace

Utilizzo l’API per salvare i post nel mio database, così non devo chiamare l’API ogni volta che voglio mostrare i dati a ogni utente. Questo mi permette anche di collegare completamente i dati a tutte le mie tabelle, aggiungerli alle viste, ecc.

Posso così mostrare informazioni sui post sul mio sito web, al di fuori di Discourse.

Tuttavia, dato che apparentemente non c’è modo di sapere quando i post vengono eliminati, finisco per mostrare alcuni post cancellati e le persone non capiscono perché i link non funzionano correttamente.

Non capisco perché non ci sia un modo per trovare i post eliminati? Sembra uno strumento molto ovvio. C’è persino un campo in posts.json per “user deleted”, ma questo campo apparentemente non può mai essere True, perché posts.json non mostrerà mai un post eliminato. Quindi o quel campo non dovrebbe esistere o posts.json dovrebbe mostrare i post eliminati.

1 Mi Piace

È un ottimo approccio!

Penso che indirizzare un webhook per gli eventi dei post verso la tua applicazione possa funzionare per questo. Quando un post viene eliminato, l’header X-Discourse-Event del webhook sarà impostato su post_destroyed. Potresti salvare gli ID dei post eliminati nella tua applicazione ed escludere quei post quando mostri contenuti di Discourse sul tuo sito.

2 Mi Piace