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?
J’essaie de comprendre comment utiliser l’API Discourse.
Dans les URL ci-dessous, je suppose que term fait référence à une période ou une durée. C’est basé sur erm=after:2016-01-01%20before:2017-01-01 etc. Mais je ne suis pas clair sur ce que signifie term=API. Quelqu’un peut-il clarifier cela ?
Il existe en réalité deux points de terminaison de recherche que vous pouvez interroger : /search.json?q= et /search/query?term=.
term désigne simplement le terme de recherche et ne fait pas référence à une période ou à une durée.
Pour bien comprendre l’API de recherche, il est préférable de suivre Reverse engineer the Discourse API et d’effectuer les recherches que vous envisagez via l’API, afin d’observer comment l’interface utilisateur effectue les mêmes requêtes API.
En réalité, je souhaite récupérer l’intégralité du contenu d’une page (dans mon cas, une liste de sujets d’une catégorie, voir Obtaining a list of topics from a category). Je ne veux pas parcourir les pages une par une si ce n’est pas nécessaire. De plus, je ne pense pas que la rétro-ingénierie fonctionnerait ici, car Discourse charge simplement la page au fur et à mesure que vous faites défiler vers le bas. À ma connaissance, il n’existe aucune option pour afficher la page entière. Existe-t-il une méthode pour le faire ?
Il n’existe aucun appel API unique permettant de récupérer TOUS les sujets d’une catégorie. Vous devrez effectuer plusieurs appels API. Cela s’explique par le fait qu’une catégorie peut contenir plus d’un million de sujets, ce qui représenterait une requête massive susceptible d’affecter les performances de votre site. En analysant le mécanisme de défilement, vous pourrez observer comment l’interface utilisateur de Discourse effectue des appels API pour récupérer davantage de sujets, et vous pourrez reproduire ce comportement dans votre API.
Selon ce que vous cherchez à accomplir, vous pouvez également utiliser la requête Explore de données pour obtenir le nombre de sujets dans une catégorie, puis effectuer un appel API vers cette requête enregistrée.