Pagination de la recherche récente
Introduction
- Les points de terminaison de recherche récente répondent à une requête avec au moins une page et fournissent un next_token dans leur réponse JSON si des pages supplémentaires sont disponibles. Pour recevoir des Publications correspondantes, ce processus peut être répété jusqu’à ce qu’aucun token ne soit inclus dans la réponse.
- Le next_token n’expire pas. Plusieurs requêtes utilisant la même valeur de next_token recevront les mêmes résultats, quel que soit le moment où la requête est effectuée.
-
Les Publications sont renvoyées dans l’ordre chronologique inverse, dans le fuseau horaire UTC. Cela est valable au sein de chaque page, ainsi qu’entre plusieurs pages :
- La première Publication de la première réponse sera la plus récente correspondant à votre requête.
- La dernière Publication de la dernière réponse sera la plus ancienne correspondant à votre requête.
- Le paramètre de requête max_results vous permet de configurer le nombre de Publications renvoyées par réponse. La valeur par défaut est de 10 Publications, avec un maximum de 100.
- Toute implémentation de pagination impliquera d’analyser les next_tokens dans la charge utile de la réponse, puis de les inclure dans la requête de recherche de « page suivante ». Voir ci‑dessous pour plus de détails sur la façon de construire ces requêtes de « page suivante ».
- Get historical - Demander les Publications correspondant à une période donnée. Il s’agit généralement de requêtes ponctuelles utilisées pour la recherche historique. Les requêtes de recherche peuvent être basées sur les paramètres de requête start_time et end_time. Le point de terminaison de recherche récente répond avec des Publications renvoyées dans l’ordre chronologique inverse, en commençant par la Publication correspondante la plus récente.
- Polling - Demander les Publications correspondantes qui ont été publiées depuis la dernière Publication reçue. Ces cas d’usage ont souvent un objectif quasi temps réel et se caractérisent par des requêtes fréquentes, afin de « surveiller » l’apparition de nouvelles Publications d’intérêt. Le point de terminaison de recherche récente fournit le paramètre de requête since_id pour prendre en charge le modèle d’« interrogation régulière ». Pour faciliter la navigation à l’aide des id de Publication, le paramètre de requête until_id est également disponible.
Récupération de données historiques
Cas d’usage de scrutation et d’écoute
https://api.x.com/2/tweets/search/recent?query=snow&since_id=12000
Lorsqu’il y a davantage de données disponibles et que des next tokens sont fournis, seule la valeur newest_id de la première page de résultats est nécessaire. Chaque page de données inclura les valeurs newest_id et oldest_id, mais la valeur fournie dans la première page est la seule nécessaire pour la prochaine requête de polling planifiée régulièrement. Ainsi, si vous implémentez un modèle de polling ou si vous recherchez des Publications par plage d’ID, la logique de pagination est légèrement plus compliquée.
Supposons maintenant qu’il y ait 18 Publications supplémentaires correspondantes. L’endpoint renverrait cette réponse initiale avec une page de données complète et un next_token pour demander la page suivante de données pour cette période de cinq minutes. Elle inclurait également l’ID de Publication le plus récent nécessaire pour le prochain intervalle de polling dans cinq minutes.
next_token. Notez que nous ne mettons pas à jour la valeur de newest_id (12300) et que nous basons plutôt notre prochaine requête since_id sur la valeur de newest_id de la première réponse :
https://api.x.com/2/tweets/search/recent?query=snow&since_id=13800