Saltar al contenido principal

Introducción al endpoint de búsqueda de Quote Tweets

Esta guía de inicio rápido le ayudará a realizar su primera solicitud a los endpoints de búsqueda de Quote Tweets con un conjunto de fields especificados usando Postman. Si desea ver código de ejemplo en distintos lenguajes, visite nuestro repositorio de GitHub X API v2 sample code

Requisitos previos

Para completar esta guía, necesitarás un conjunto de claves y tokens para autenticar tu solicitud. Puedes generar estas claves y tokens siguiendo estos pasos: Pasos para crear una solicitud de consulta de Quote Tweets Paso uno: Comienza con una herramienta o biblioteca Hay varias herramientas, ejemplos de código y bibliotecas que puedes usar para realizar una solicitud a este endpoint, pero aquí utilizaremos la herramienta Postman para simplificar el proceso. Para cargar la colección de Postman de X API v2 en tu entorno, haz clic en el siguiente botón: Una vez que tengas la colección de X API v2 cargada en Postman, navega a la carpeta timeline y encuentra la solicitud “Quote Tweets by ID”. Paso dos: Autentica tu solicitud Para realizar correctamente una solicitud a la X API, debes verificar que tienes permiso. Para hacerlo con este endpoint, debes autenticar tu solicitud con uno de los siguientes métodos de Autenticación: OAuth 2.0 App-Only, OAuth 2.0 Authorization Code with PKCE o OAuth 1.0a User Context. Para simplificar, utilizaremos OAuth 2.0 App-Only con esta solicitud, pero deberás usar uno de los otros métodos de autenticación si deseas solicitar métricas privadas o Posts. Debes agregar tus claves y tokens, específicamente el App Access Token (también conocido como App-only Bearer Token) en Postman. Puedes hacerlo seleccionando el entorno llamado “X API v2” en la esquina superior derecha de Postman y agregando tus claves y tokens en los campos “initial value” y “current value” (haciendo clic en el ícono de ojo junto al menú desplegable del entorno). Esta variable se integrará automáticamente en la pestaña de autorización de la solicitud si lo has hecho correctamente. Paso tres: Identifica y especifica el Post para el que deseas obtener los Quote Tweets Debes especificar un Post para el que deseas obtener Quote Tweets dentro de la solicitud pasando el Post ID. En este ejemplo, el Post ID que usaremos es 1409931481552543749. En Postman, navega a la pestaña “Params” e ingresa este Post ID en la columna “Value” del parámetro id.
KeyValue
id1409931481552543749
Paso cuatro: Identifica y especifica qué fields deseas recuperar Si haces clic en el botón “Send” después del paso tres, recibirás los fields predeterminados del Post object en tu respuesta: id, text y edit_history_tweet_ids. Si deseas recibir fields adicionales, tendrás que especificarlos en tu solicitud con los parámetros fields y/o expansions. Para este ejercicio, solicitaremos tres conjuntos adicionales y diferentes de fields de distintos objetos:
  1. El field adicional tweet.created_at en los objetos principales.
  2. Los fields predeterminados del user object de los autores asociados para los Posts devueltos: id, name y username
  3. El field adicional user.created_at en los objetos de usuario asociados.
En Postman, navega a la pestaña “Params” y agrega el siguiente par key:value en la tabla “Query Params”:
ClaveValorCampos devueltos
tweet.fieldscreated_attweets.created_at
expansionsauthor_idincludes.users.id, includes.users.name, includes.users.username
user.fieldscreated_atincludes.users.created_at
Ahora deberías ver la siguiente URL junto al botón “Send”: https://api.x.com/2/tweets/:id/quote_tweets?expansions=author_id&tweet.fields=created_at&user.fields=created_at Ten en cuenta: En Postman, el parámetro de ruta :id en el campo URL no se actualizará automáticamente con el valor que introduzcas en el campo de parámetros id, por lo que la URL anterior incluye :id y no 1409931481552543749. Paso cinco: Realiza tu solicitud y revisa la respuesta Una vez que tengas todo configurado, haz clic en el botón “Send” y recibirás la siguiente respuesta:
{
 "data": [
   {
     "created_at": "2022-02-22T04:31:34.000Z",
     "text": "RT @chris_bail: Twitter ha creado un curso completo (con videos, código y otros materiales) para ayudar a los investigadores a aprender a recopilar datos…",
     "author_id": "29757971",
     "id": "1495979553889697792"
   },
   {
     "created_at": "2022-01-26T17:07:43.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "241588187",
     "id": "1486385372401737728"
   },
   {
     "created_at": "2022-01-11T17:28:04.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "24961055",
     "id": "1480954678447857669"
   },
   {
     "created_at": "2022-01-10T20:34:46.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "1441574419789324291",
     "id": "1480639272721940486"
   },
   {
     "created_at": "2021-12-16T22:55:24.000Z",
     "text": "RT @chris_bail: Twitter ha creado un curso completo (con videos, código y otros materiales) para ayudar a los investigadores a aprender a recopilar datos…",
     "author_id": "1623598771",
     "id": "1471614967207976961"
   },
   {
     "created_at": "2021-12-13T15:59:55.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "1506401233",
     "id": "1470423243513372679"
   },
   {
     "created_at": "2021-12-10T02:02:45.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "40103034",
     "id": "1469125403373568001"
   },
   {
     "created_at": "2021-12-08T17:27:54.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "1436400156006567936",
     "id": "1468633446935318529"
   },
   {
     "created_at": "2021-09-15T21:40:24.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "81650379",
     "id": "1438256410417143809"
   },
   {
     "created_at": "2021-08-26T16:45:16.000Z",
     "text": "RT @suhemparack: Muy emocionado de compartir nuestro curso sobre Primeros pasos con la #TwitterAPI v2 para investigación académica\n\nSi conoces estudiantes q…",
     "author_id": "40462535",
     "id": "1430934381829492746"
   }
 ],
 "includes": {
   "users": [
     {
       "username": "j_a_tucker",
       "id": "29757971",
       "name": "Joshua Tucker",
       "created_at": "2009-04-08T16:45:38.000Z"
     },
     {
       "username": "whimchic",
       "id": "241588187",
       "name": "whimchic",
       "created_at": "2011-01-22T16:51:43.000Z"
     },
     {
       "username": "mattbiehl",
       "id": "24961055",
       "name": "Matthias Biehl",
       "created_at": "2009-03-17T21:41:27.000Z"
     },
     {
       "username": "weixinac",
       "id": "1441574419789324291",
       "name": "J",
       "created_at": "2021-09-25T01:25:19.000Z"
     },
     {
       "username": "RSangeleer",
       "id": "1623598771",
       "name": "Richard Sangeleer",
       "created_at": "2013-07-26T18:25:45.000Z"
     },
     {
       "username": "Gulnerman",
       "id": "1506401233",
       "name": "Giz Gulnerman",
       "created_at": "2013-06-11T20:13:40.000Z"
     },
     {
       "username": "efishman123",
       "id": "40103034",
       "name": "Elishema Fishman",
       "created_at": "2009-05-14T22:25:58.000Z"
     },
     {
       "username": "dtcxwz",
       "id": "1436400156006567936",
       "name": "Hüseyin Ateş",
       "created_at": "2021-09-10T18:44:30.000Z"
     },
     {
       "username": "brendaberkelaar",
       "id": "81650379",
       "name": "Dr. Brenda Berkelaar",
       "created_at": "2009-10-11T18:09:16.000Z"
     },
     {
       "username": "misoca",
       "id": "40462535",
       "name": "Michael Soto",
       "created_at": "2009-05-16T13:26:05.000Z"
     }
   ]
 },
 "meta": {
   "result_count": 10,
   "next_token": "avdjwk0udyx6"
 }
}

Paso seis: pagina tus resultados

En la respuesta anterior, encontrarás un objeto meta al final que incluye los siguientes campos:
  • results_count
  • next_token
En el paso cuatro, como no especificamos el parámetro max_results, obtendremos solo 10 Posts de forma predeterminada. Para acceder a las páginas adicionales de data, tomaremos el valor del campo next_token de nuestros últimos resultados y añadiremos esa cadena como el valor del parámetro pagination_token en la página de params de Postman, manteniendo todo lo demás igual.
KeyValue
pagination_tokenavdjwk0udyx6
Una vez que todo esté configurado, puedes hacer clic en “Send” nuevamente y deberías recibir la siguiente página de resultados. Hemos preparado una guía sobre paginación para explicar este concepto más a fondo.