Obtén solo publicaciones de nivel superior en el tema mediante la API de Discourse

Me gustaría poder obtener las 20 publicaciones más recientes que sean de nivel superior en un tema sin tener que volver a obtener y filtrar recursivamente las respuestas a las publicaciones hasta llegar a 20. ¿Existe un filtro para esto y simplemente lo he pasado por alto en algún lugar de la API?

Por ahora, parece que el array de stream en la respuesta incluye las respuestas a las publicaciones por número de publicación. Así que, si tengo 4 publicaciones, [1,2,3,4], y publico una respuesta a la publicación 1, el stream ahora será [1,2,3,4,5] y la única forma de saber que 5 es una respuesta a 1 es examinando la publicación en sí, encontrando “reply_to_post_number” => 1 y filtrándola. ¿Estoy pasando por alto algo?

1 me gusta

That is correct. There is not a filter that can be added to the topic endpoint to get what you are after. However we do have the

which you could use to write a sql query to get what you are after. You can then save that query and hit the api endpoint for the saved query and pass it a topic_id as a param.

2 Me gusta

There isn’t a real way to get what you actually want out of this, because the metadata is messy, and people are messy and don’t really care about your analytics too much :wink:

2 Me gusta

Thanks, I will give this a shot.

Ahora tenemos el parámetro de consulta filter_top_level_replies=true que se encargará de esto por usted.

Aquí tiene un ejemplo en meta https://meta.discourse.org/t/linkify-words-in-post/82193.json?filter_top_level_replies=true