Skip to main content

Standard v1.1 comparado con X API v2

Si has estado trabajando con el endpoint v1.1 statuses/filter, esta guía puede ayudarte a comprender las similitudes y diferencias entre los endpoints de filtered stream estándar y de X API v2.
  • Similitudes
    • Parámetros de solicitud y operadores
    • Soporte para historial y metadatos de edición de Post
  • Diferencias
    • URLs de endpoint
    • Requisito de App y Project
    • Método de autenticación
    • Volumen de reglas y stream persistente
    • Formato de datos de respuesta
    • Parámetros de solicitud
    • Disponibilidad de funciones de recuperación y redundancia
    • Operadores de consulta

Similitudes

Parámetros de solicitud y operadores El endpoint estándar v1.1 statuses/filter presenta algunos parámetros que se pueden pasar junto con la solicitud para filtrar el stream. Con filtered stream v2, en su lugar utilizas un conjunto de operadores que se pueden conectar entre sí utilizando lógica booleana para filtrar los Posts deseados. Los operadores disponibles incluyen algunos que son reemplazos directos de los parámetros estándar v1.1 existentes. Los siguientes parámetros de solicitud estándar v1.1 tienen operadores equivalentes en X API v2: Soporte para historial y metadatos de edición de Post Ambas versiones proporcionan metadatos que describen cualquier historial de edición. Consulta las referencias de la API de filtered stream y la página de fundamentos de ediciones de Post para obtener más detalles.

Diferencias

URLs de endpoint Requisitos de App y Project Los endpoints de X API v2 requieren que utilices credenciales de una developer App asociada a un Project al autenticar tus solicitudes. Todos los endpoints de X API v1.1 pueden usar credenciales de Apps o Apps asociadas con una App. Método de autenticación El endpoint estándar admite OAuth 1.0a User Context, mientras que los endpoints de X API v2 filtered stream admiten OAuth 2.0 App-Only (también denominada Application-only authentication). Para realizar solicitudes a la versión X API v2, debes utilizar un App Access Token para autenticar tus solicitudes. Si ya no tienes el App Access Token que se te presentó cuando creaste tu App en la Developer Console, puedes generar uno nuevo navegando a la página “Keys and tokens” de tu app en la Developer Console. Si deseas generar un App Access Token de forma programática, consulta esta guía de OAuth 2.0 App-Only. Volumen de reglas y stream persistente El endpoint estándar v1.1 admite una única regla para filtrar la conexión de streaming. Para cambiar la regla, debes desconectar el stream y enviar una nueva solicitud con las reglas de filtrado revisadas enviadas como parámetros. El endpoint de filtered stream de X API v2 te permite aplicar múltiples reglas a un único stream y añadir y eliminar reglas de tu stream mientras se mantiene la conexión del stream. Formato de datos de respuesta Una de las mayores diferencias entre las versiones de endpoint 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 respuesta por defecto, y luego tienes la opción de usar parámetros para identificar qué campos o conjuntos de campos deben devolverse en el payload. La versión de X API v2 solo entrega los campos id y text del Post por defecto. Para solicitar cualquier campo u objeto adicional, deberás usar los parámetros fields y expansions. Cualquier campo de Post que solicites de estos endpoints se devolverá en el objeto Post principal. Cualquier objeto y campo expandido de user, media, poll o place se devolverá en un objeto includes dentro de tu respuesta. Luego puedes hacer coincidir los objetos expandidos con el objeto Post haciendo coincidir los IDs ubicados tanto en el Post como en el objeto expandido. Te animamos a 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 v1.1 a los campos v2 más recientes. Esta guía también te proporcionará el parámetro específico de expansion y field 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 devueltos por las APIs, incluidos los objetos de Post y user.
  • En el nivel raíz del JSON, los endpoints estándar devuelven objetos Post en un array statuses, mientras que X API v2 devuelve un array data.
  • En lugar de referirse a “statuses” retweeteados y citados, el JSON de X API v2 se refiere a Retweeted y Quoted Tweets. 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 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 Post y user solo se incluyen si tienen valores no nulos.
También introdujimos un nuevo conjunto de campos en el objeto Post que incluye lo siguiente:
  • Un campo conversation_id
  • Dos nuevos campos de annotations, incluidos context y entities
  • Varios nuevos campos de métricas
  • Un nuevo campo reply_setting, que te muestra quién puede responder a un Post determinado
Parámetros de solicitud También hay un conjunto de parámetros estándar de solicitud de filtered stream no admitidos en X API v2: Disponibilidad de funciones de recuperación y redundancia La versión de X API v2 de filtered stream introduce funciones de recuperación y redundancia que pueden ayudarte a maximizar el tiempo de actividad del streaming y recuperar cualquier Post que se haya perdido debido a una desconexión que haya durado cinco minutos o menos. Las conexiones redundantes te permiten conectarte a un stream determinado hasta dos veces, lo que puede ayudar a garantizar que mantengas una conexión con el stream en todo momento, incluso si una de tus conexiones falla. El parámetro backfill_minutes se puede usar para recuperar hasta cinco minutos de datos perdidos. Ambas funciones solo están disponibles a través de acceso Academic Research. Puedes obtener más información sobre esta funcionalidad a través de nuestra guía de integración de funciones de recuperación y redundancia. Nuevos operadores de consulta X API v2 introduce nuevos operadores en apoyo de dos nuevas funciones:
  • Conversation IDs: a medida que las conversaciones se desarrollan en X, un conversation ID estará disponible para marcar los Posts que forman parte de la conversación. Todos los Posts de la conversación tendrán su conversation_id establecido en el ID del Post que la inició.
    • conversation_id:
  • X Annotations proporcionan información contextual sobre los Posts e incluyen annotations de entidad y contexto. Las entidades están compuestas por personas, lugares, productos y organizaciones. Los contextos son dominios, o temas, de los que forman parte las entidades emergentes. Por ejemplo, las personas mencionadas en un Post pueden tener un contexto que indica si son un atleta, actor o político.
    • context: coincide con Posts que han sido anotados con un contexto de interés.
    • entity: coincide con Posts que han sido anotados con una entidad de interés.

Ejemplos de código

Añadir una regla a filtered stream (v2)

Ejemplos Standard v1.1 vs v2 Consulta los ejemplos completos de migración en la documentación oficial de la X API.