Obtenir les n derniers nouveaux / mis à jour posts via l'API ?

Bonjour

J’ai essayé d’utiliser les API pour obtenir les n derniers messages en utilisant

uri = URI('https://mydomain.com/forum/latest.json?ascending=false')

Cependant, j’ai remarqué ce qui suit :

  • impossible d’avoir l’URL de chaque message
  • impossible de limiter le résultat aux n derniers messages.
  • comment restreindre les champs retournés ? par exemple, j’obtiens actuellement tous les détails.

Des idées ?

1 « J'aime »

Essayez-vous d’obtenir les n derniers messages ou les n derniers sujets ?

/latest.json vous donnera les derniers sujets

/posts.json vous donnera les derniers messages de tous les sujets.

Les URL que vous pouvez simplement construire à partir des résultats en fonction de l’ID du sujet ou de l’ID du message.

Par exemple, une URL valide pour ce sujet est : https://meta.discourse.org/t/307427 et pour le message, ce serait https://meta.discourse.org/p/1514266.

Il n’y a aucun moyen de modifier la taille de page par défaut de 30. Si vous voulez vraiment moins de 30, vous devez passer les ID de sujet spécifiques :

https://meta.discourse.org/latest.json?topic_ids[]=307427

Mais vous devriez connaître ces ID de sujet à l’avance, donc ce n’est généralement pas très utile. Si vous voulez plus de 30, vous devrez faire plusieurs requêtes et passer le paramètre page.

https://meta.discourse.org/latest.json?page=1

Vous ne pouvez pas, vous devrez les filtrer vous-même à partir des résultats.

C’est le comportement par défaut, vous n’avez donc pas besoin de spécifier ascending=false, vous pouvez simplement l’omettre.

1 « J'aime »