Paginación en la búsqueda reciente
Introducción
- Los endpoints de búsqueda reciente responderán a una consulta con al menos una página y proporcionarán un next_token en su respuesta JSON si hay páginas adicionales disponibles. Para recibir todas las Publicaciones coincidentes, este proceso puede repetirse hasta que no se incluya ningún token en la respuesta.
- El next_token no caduca. Varias solicitudes que utilicen el mismo valor de next_token recibirán los mismos resultados, independientemente de cuándo se realice la solicitud.
-
Las Publicaciones se entregan en orden cronológico inverso, en la zona horaria UTC. Esto es así dentro de páginas individuales, así como entre varias páginas:
- La primera Publicación en la primera respuesta será la más reciente que coincida con tu consulta.
- La última Publicación en la última respuesta será la más antigua que coincida con tu consulta.
- El parámetro de solicitud max_results te permite configurar el número de Publicaciones que se devuelven por respuesta. El valor predeterminado es 10 Publicaciones y el máximo es 100.
- Toda implementación de paginación implicará extraer los next_token del cuerpo de la respuesta e incluirlos en la solicitud de búsqueda de la “siguiente página”. Consulta más abajo para obtener más detalles sobre cómo construir estas solicitudes de “siguiente página”.
- Obtener datos históricos - Solicitar Publicaciones que coincidan dentro de un período de tiempo de interés. Normalmente son solicitudes puntuales que respaldan la investigación histórica. Las solicitudes de búsqueda pueden basarse en los parámetros de solicitud start_time y end_time. El endpoint de búsqueda reciente responde con Publicaciones entregadas en orden cronológico inverso, comenzando por la Publicación más reciente que coincida.
- Sondeo (polling) - Solicitar Publicaciones que coincidan y que se hayan publicado desde la última Publicación recibida. Estos casos de uso suelen tener un enfoque casi en tiempo real y se caracterizan por solicitudes frecuentes que “escuchan” nuevas Publicaciones de interés. El endpoint de búsqueda reciente proporciona el parámetro de solicitud since_id para admitir el patrón de “polling”. Para ayudar con la navegación por los id de las Publicaciones, también está disponible el parámetro de solicitud until_id.
Recuperar datos históricos
Casos de uso de sondeo y escucha
https://api.x.com/2/tweets/search/recent?query=snow&since_id=12000
Cuando hay más datos disponibles y se proporcionan tokens next, solo se necesita el valor newest_id de la primera página de resultados. Cada página de datos incluirá valores newest_id y oldest_id, pero el valor proporcionado en la primera página es el único necesario para la siguiente solicitud de sondeo periódica programada. Por lo tanto, si estás implementando un diseño de sondeo o buscando Publicaciones por rango de id, la lógica de paginación es ligeramente más complicada.
Ahora supongamos que hay 18 Publicaciones adicionales que coinciden. El endpoint respondería con esta respuesta inicial con una página completa de datos y un next_token para solicitar la siguiente página de datos de este período de cinco minutos. También incluiría la id de la Publicación más reciente necesaria para el siguiente intervalo de sondeo en cinco minutos.
next_token. Ten en cuenta que no actualizamos nuestro valor de newest_id (12300), sino que basamos nuestra siguiente solicitud con since_id en el valor de newest_id de la primera respuesta:
https://api.x.com/2/tweets/search/recent?query=snow&since_id=13800