Skip to main content

Estándar v1.1 en comparación con X API v2

Si has estado trabajando con los endpoints estándar v1.1 GET users/show y GET users/lookup, el objetivo de esta guía es ayudarte a entender las similitudes y diferencias entre los endpoints estándar y los endpoints de consulta de usuarios de X API v2.
  • Similitudes
    • Contexto de usuario de OAuth 1.0a
    • Límites de usuarios por solicitud
  • Diferencias
    • URLs de los endpoints
    • Requisitos de App y de proyecto
    • Formato de los datos de la respuesta
    • Parámetros de la solicitud

Similitudes

Método de autenticación OAuth 1.0a User Context El endpoint estándar es compatible con OAuth 1.0a User Context, mientras que los nuevos endpoints de users lookup de X API v2 son compatibles tanto con OAuth 1.0a User Context como con App only. Por lo tanto, si antes utilizabas uno de los endpoints estándar de users lookup de v1.1, puedes seguir usando el mismo método de autenticación si migras a la versión de X API v2. Dependiendo de la biblioteca/paquete de autenticación que elijas, la autenticación App only probablemente sea la forma más sencilla de comenzar y puede configurarse con un encabezado de solicitud sencillo. Para aprender cómo generar un App only Access Token, consulta esta guía de App only. Límites de usuarios por solicitud El endpoint estándar v1.1 GET users/lookup te permite especificar 100 usuarios por solicitud. Esto también se aplica a los endpoints GET /users y GET /users/by. Para poder especificar los 100 usuarios, deberás pasar el parámetro ids (GET /users) o el parámetro username (GET /users/by) como parámetro de consulta e incluir la lista de IDs/nombres de usuario en una lista separada por comas.

Diferencias

URLs de endpoints Requisitos de App y Project Los endpoints de X API v2 requieren que uses credenciales de una developer App que esté asociada a 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. Formato de datos de la respuesta Una de las mayores diferencias entre las versiones estándar v1.1 y X API v2 de los endpoints 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 de forma predeterminada el id de usuario, el nombre y el campo username. Para solicitar campos u objetos adicionales, deberá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 expandido y sus campos se devolverán en un objeto includes dentro de tu respuesta. Luego puedes relacionar de nuevo cualquier objeto expandido con el objeto de usuario haciendo coincidir los id ubicados tanto en el usuario como en el objeto de Publicación expandido. Te recomendamos leer más sobre estos nuevos parámetros en sus respectivas guías o consultando 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 indicará el parámetro específico de expansión y de campo que deberá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 que devuelven las APIs, incluidos los objetos de Publicación y de usuario.
  • En el nivel raíz de JSON, los endpoints estándar devuelven objetos de Publicación 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 retuiteados y citados. 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 Publicación) como favourites (en el objeto de usuario), X API v2 usa el término like.
  • X está adoptando la convención de que los valores JSON sin valor (por ejemplo, null) no se escriben en el payload. Los atributos de Publicación y de usuario solo se incluyen si tienen valores no nulos.
También presentamos un nuevo conjunto de campos para el objeto de Publicación, incluidos los siguientes:
  • Un campo conversation_id
  • Dos nuevos campos de annotations, incluidos context y entities
  • Varios campos nuevos de metrics
  • Un nuevo campo reply_setting, que te muestra quién puede responder a una Publicación determinada
Parámetros de la solicitud Los siguientes parámetros de solicitud estándar v1.1 tienen equivalentes en X API v2:
EstándarX API v2
user_idids
screen_nameusername
También hay un conjunto de parámetros de solicitud estándar para la búsqueda de usuarios que no están disponibles en X API v2:
EstándarComentario
include_entitiesEste parámetro se usa para eliminar el nodo entities del payload de la Publicación. Se ha reemplazado por la funcionalidad aditiva de fields y expansions.

Ejemplos de código

Los siguientes ejemplos muestran endpoints estándar de v1.1 y sus equivalentes en v2. Consulta de un único usuario: v1.1 GET users/show → v2 GET /users/by/username/:username
cURL (v1.1)
curl --request GET \
  --url 'https://api.x.com/1.1/users/show.json?screen_name=XDevelopers' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
Consulta de múltiples usuarios: v1.1 GET users/lookup → v2 GET /users/by
cURL (v1.1)
curl --request GET \
  --url 'https://api.x.com/1.1/users/lookup.json?screen_name=XDevelopers,X,XAPI' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'