Skip to main content

Consulta de bloqueos: estándar v1.1 frente a X API v2

Si has trabajado con los endpoints estándar v1.1 GET blocks/ids y GET blocks/list, el objetivo de esta guía es ayudarte a entender las similitudes y diferencias entre los endpoints de consulta de bloqueos de la v1.1 estándar y de X API v2.
  • Similitudes
    • Autenticación
  • Diferencias
    • URLs de los endpoints
    • Límites de usuarios por solicitud
    • Requisitos de la App y del Project
    • Formatos de datos de respuesta
    • Parámetros de la solicitud

Similitudes

Autenticación Tanto los endpoints de consulta de bloqueos estándar v1.1 como los de X API v2 utilizan OAuth 1.0a User Context. Por lo tanto, si antes utilizabas uno de los endpoints de consulta de bloqueos estándar v1.1, puedes seguir utilizando el mismo método de autenticación si migras a la versión de X API v2. 

Diferencias

URLs de endpoints Límites de usuarios por solicitud Los endpoints estándar v1.1 te permiten recuperar hasta 5000 usuarios por solicitud. Los nuevos endpoints v2 te permiten recuperar hasta 1000 usuarios por solicitud. Para recuperar los 1000 usuarios completos, deberás pasar max_results=1000 como parámetro de consulta; luego puedes pasar el next_token devuelto en la carga de respuesta al parámetro de consulta pagination_token en tu siguiente solicitud.   Requisitos de App y Project Los endpoints de X API v2 requieren que utilices 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 a un Project. Formato de datos de la respuesta 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 carga. 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 deben devolverse en la carga. La versión de X API v2 solo entrega de forma predeterminada los campos user id, name y username. 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 expandido y sus campos se devolverán en un objeto includes dentro de tu respuesta. Luego puedes hacer coincidir 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 guías respectivas 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 campos estándar v1.1 con 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 está introduciendo nuevos diseños de JSON para los objetos devueltos por las APIs, incluidos los objetos de Publicación 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 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 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 la carga. Los atributos de Publicación y de usuario solo se incluyen si tienen valores no nulos.   
También incorporamos un nuevo conjunto de campos al 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 solicitud Los siguientes parámetros de solicitud estándar de la v1.1 aceptaban dos parámetros de consulta (user_id o screen_name). La X API v2 solo acepta el id de usuario numérico y debe incluirse como parte de la ruta del endpoint.

Ejemplos de código

Obtener usuarios bloqueados (v2)

cURL
curl "https://api.x.com/2/users/123456789/blocking?user.fields=username,verified&max_results=100" \
  -H "Authorization: OAuth ..."

Bloquear a un usuario (v2)

cURL
curl -X POST "https://api.x.com/2/users/123456789/blocking" \
  -H "Authorization: OAuth ..." \
  -H "Content-Type: application/json" \
  -d '{"target_user_id": "2244994945"}'