Skip to main content

Consulta de Retweets: Standard v1.1 frente a X API v2

Si has estado trabajando con los endpoints estándar de v1.1 v1.1 GET statuses/retweets/:id, v1.1 GET statuses/retweets/:ids, el objetivo de esta guía es ayudarte a entender las similitudes y diferencias entre los endpoints de consulta de Retweets en Standard v1.1 y en X API v2.
  • Similitudes
    • Autenticación
    • Límites de usuarios por solicitud
  • Diferencias
    • URLs de los endpoints
    • Limitaciones de las solicitudes
    • Requisitos de App y de proyecto
    • Formato de los datos de respuesta
    • Parámetros de las solicitudes

Similitudes

Autenticación Tanto en la versión estándar v1.1 como en X API v2, los endpoints de consulta de Retweets (v1.1 GET statuses/retweets/:id y v1.1 GET statuses/retweeters/:ids) usan OAuth 1.0a User Context o OAuth 2.0 Bearer Token. Límites de usuarios por solicitud Para ambos endpoints GET de v1.1 y v2, el número máximo de usuarios que devolverá el endpoint de consulta de Retweets es de 100 usuarios. En el endpoint de consulta de Retweets v2 no se pasa ningún token de paginación; de forma predeterminada proporcionamos 100 usuarios y ese es el máximo que se devuelve.

Diferencias

URLs de endpoints
  • Endpoints estándar de v1.1:
    • https://api.x.com/1.1/statuses/retweets/:id.json (Devuelve una colección de los 100 Retweets más recientes de la Publicación especificada por el parámetro id)
    • https://api.x.com/1.1/statuses/retweeters/ids.json (Devuelve una colección de hasta 100 IDs de usuario pertenecientes a usuarios que han hecho Retweet de la Publicación especificada por el parámetro id)
  • Endpoint de X API v2:
Requisitos de App y Proyecto Los endpoints de X API v2 requieren que uses credenciales de una App de desarrollador que esté asociada con un Project al autenticar tus solicitudes. Todos los endpoints de X API v1.1 pueden usar credenciales de Apps o de Apps asociadas con un proyecto. Formato de datos de respuesta Una de las diferencias más grandes entre las versiones de endpoints estándar v1.1 y X API v2 es cómo seleccionas qué campos se devuelven en tu payload. Para los endpoints estándar, recibes muchos de los campos de la respuesta de forma predeterminada y luego tienes la opción de usar parámetros para identificar qué campos o conjuntos de campos se deben devolver en el payload. La versión de X API v2 solo entrega los campos user id, name y username de forma predeterminada. Para solicitar campos u objetos adicionales, necesitarás usar los parámetros fields y expansions. Cualquier campo de usuario que solicites desde este endpoint se devolverá en el objeto de usuario principal. Cualquier objeto de Publicación ampliado y sus campos se devolverán en un objeto includes dentro de tu respuesta. Luego puedes hacer coincidir cualquier objeto ampliado con el objeto de usuario haciendo coincidir los IDs ubicados tanto en el objeto de usuario como en el objeto de Publicación ampliado.  Te recomendamos leer más sobre estos nuevos parámetros en sus respectivas guías o leyendo nuestra guía sobre cómo usar fields y expansions También hemos preparado una guía de migración de formato de datos que puede ayudarte a mapear los campos estándar de v1.1 a los campos más recientes de v2. Esta guía también te proporcionará el parámetro específico de expansión y de campo que necesitarás pasar con tu solicitud v2 para devolver campos específicos.    Además de los cambios en cómo solicitas ciertos campos, X API v2 también introduce nuevos diseños JSON para los objetos devueltos por las APIs, incluidos los objetos de Post y de user.
  • En el nivel raíz de JSON, los endpoints estándar devuelven objetos de Publicación en un arreglo statuses, mientras que X API v2 devuelve un arreglo data. 
  • En lugar de referirse a “statuses” Retweeted y Quoted, el JSON de X API v2 se refiere a Tweets Retweeted y Quoted. Muchos campos heredados y obsoletos, como contributors y user.translator_type, se están eliminando. 
  • En lugar de usar tanto favorites (en el objeto de Post) como favourites (en el objeto de user), X API v2 usa el término like. 
  • X está adoptando la convención de que los valores JSON sin contenido (por ejemplo, null) no se incluyen en el payload. Los atributos de Post y user solo se incluyen si tienen un valor distinto de null.   
También introdujimos un nuevo conjunto de campos en el objeto de Post, incluidos los siguientes:
  • Un campo conversation_id
  • Dos nuevos campos de annotations, incluidos context y entities
  • Varios nuevos campos de metrics 
  • Un nuevo campo reply_setting, que te muestra quién puede responder a una Publicación determinada
Parámetros de solicitud Los siguientes parámetros de solicitud estándar de v1.1 aceptaban dos parámetros de consulta (user_id o screen_name). X API v2 solo acepta el ID de usuario numérico y debe pasarse como parte de la ruta del endpoint.

Ejemplos de código

Obtener usuarios que hicieron Retweet de una Publicación (v2)

cURL
curl "https://api.x.com/2/tweets/1234567890/retweeted_by?user.fields=username,verified" \
  -H "Authorization: Bearer $BEARER_TOKEN"