Skip to main content

Búsqueda de Me gusta: Standard v1.1 comparado con X API v2

Si has estado trabajando con el endpoint estándar v1.1 GET favorites/list, el objetivo de esta guía es ayudarte a entender las similitudes y diferencias entre los endpoints de búsqueda de Me gusta de Standard v1.1 y X API v2. Con v2, también hemos introducido un nuevo endpoint de usuarios que dieron Me gusta, que te permite obtener información sobre los usuarios a los que les ha gustado una Publicación.
  • Similitudes
    • Autenticación
    • Límites de tasa
  • Diferencias
    • URLs de los endpoints
    • Limitaciones de las solicitudes
    • Requisitos de App y Project
    • Parámetros de las solicitudes
    • Nuevo formato JSON

Similitudes

Autenticación Tanto los endpoints de consulta de Me gusta de la versión estándar v1.1 como los de X API v2 usan OAuth 1.0a User Context o OAuth 2.0 Bearer Token. Por lo tanto, si antes utilizabas los endpoints estándar v1.1 GET favorites/list, puedes seguir usando el mismo método de autenticación si migras a la versión de X API v2, si lo deseas.  Dependiendo de la biblioteca o paquete de autenticación que elijas, la autenticación con Bearer Token probablemente sea la forma más sencilla de comenzar y se puede configurar con un encabezado de solicitud simple. Para aprender cómo generar un Bearer Token, consulta esta guía de OAuth 2.0 Bearer Token.    Límites de tasa El endpoint estándar v1.1 GET favorites/list tiene un límite de tasa de 75 solicitudes por cada 15 minutos por usuario. El endpoint correspondiente de Publicaciones con Me gusta en v2 también tiene este mismo límite de tasa. Sin embargo, este endpoint v2 también tiene un límite de tasa adicional de 75 solicitudes por cada 15 minutos por App.

Diferencias

URLs de endpoint Limitaciones de la solicitud El endpoint v2 de liked Posts te permite solicitar de 5 a 100 Publicaciones por solicitud, pero puedes solicitar todos los “me gusta” de una Publicación usando tokens de paginación. El endpoint v1.1 GET favorites/list también te permite obtener todos los “me gusta” de las Publicaciones, pero puedes recuperar de 20 a 200 Publicaciones por solicitud. Para el endpoint v2 de liking users, se limita a 100 liking users por Publicación.    Requisitos de App y Project Los endpoints de X API v2 requieren que uses credenciales de una developer App 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 Project. Parámetros de la solicitud Los siguientes parámetros de solicitud estándar v1.1 aceptaban dos parámetros de consulta (user_id o screen_name). X API v2 solo acepta el ID numérico del usuario, y debe pasarse como parte de la ruta del endpoint. Una de las mayores diferencias 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, hay varios parámetros que podías usar para identificar qué campos o conjuntos de campos se devolverían en el payload, mientras que la versión de X API v2 simplifica estos diferentes parámetros en fields y expansions.    Nuevo formato JSON X API v2 está introduciendo nuevas estructuras 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 usuario en un array statuses, mientras que X API v2 devuelve un array data. 
  • En lugar de hacer referencia a “statuses” Retweeted y Quoted, el JSON de X API v2 hace referencia 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 Post) como favourites (en el objeto user), X API v2 utiliza el término like. 
  • X está adoptando la convención de que los valores JSON vacíos (por ejemplo, null) no se escriben en el payload. Los atributos de Post y user solo se incluyen si tienen valores no nulos.  
Además de los cambios que hicimos en nuestro nuevo formato JSON, también introdujimos un nuevo conjunto de campos en el objeto Post, incluidos los siguientes:

Ejemplos de código

Obtener Publicaciones marcadas con Me gusta (v2)

cURL
curl "https://api.x.com/2/users/2244994945/liked_tweets?tweet.fields=created_at,public_metrics&max_results=100" \
  -H "Authorization: Bearer $BEARER_TOKEN"

Obtener los usuarios que dieron like (v2)

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