I don’t know if it’ll help, but I wrote a little ruby program that will download all of a topic or category. (It doesn’t pay attention to dates, though.)
Oops. Getting the links wrong is what made me believe discourse support pagination using page=X in the first place (my own bad conversion from curl to a web browser).
Perhaps I should have ask a more general question: If search/query.json has a grouped_search_result with more_posts set true, how do I get to see the additional posts?
Estou tentando entender como usar a API do Discourse.
Nas URLs abaixo, estou supondo que term se refira a um período ou duração. Isso com base em term=after:2016-01-01%20before:2017-01-01 etc. Mas não tenho certeza do que term=API significa. Alguém pode esclarecer?
Existem, na verdade, dois endpoints de pesquisa que você pode acessar: /search.json?q= e /search/query?term=.
term significa apenas termo de pesquisa e não se refere a período ou duração.
Para entender a API de pesquisa, o ideal é seguir Reverse engineer the Discourse API e realizar as pesquisas que você pretende fazer via API, observando como a interface faz as mesmas solicitações à API.
Na verdade, gostaria de obter o conteúdo completo de uma página (no meu caso, uma lista de tópicos de uma categoria, veja Obtaining a list of topics from a category). Não quero percorrer página por página se não for necessário. E não acho que a engenharia reversa funcione aqui, pois o Discourse apenas expande a página conforme você rola para baixo. Não há, que eu saiba, uma opção para mostrar a página inteira. Existe alguma maneira de fazer isso?
Não existe uma única chamada de API que busque TODOS os tópicos de uma categoria. Você precisará fazer várias chamadas de API. Isso ocorre porque uma categoria pode conter mais de 1 milhão de tópicos, o que poderia gerar uma consulta enorme e afetar o desempenho do seu site. Ao reverter a engenharia da rolagem, você pode ver como a interface do Discourse faz as chamadas de API para carregar mais tópicos e replicar esse comportamento na sua API.
Dependendo do que você está tentando alcançar, também pode usar a consulta de exploração de dados para obter o número de tópicos em uma categoria e fazer uma chamada de API para essa consulta salva.