Saltar al contenido principal

Introducción al endpoint de consulta de Quote Tweets

Esta Guía rápida le ayudará a realizar su primera solicitud a los endpoints de consulta de Quote Tweets con un conjunto de fields especificados usando Postman. Si desea ver Código de muestra en distintos lenguajes, visite nuestro repositorio de GitHub X API v2 sample code

Requisitos previos

Para completar esta guía, necesitará un conjunto de keys and tokens para autenticar su solicitud. Puede generar estas keys and tokens siguiendo estos pasos: Pasos para crear una solicitud de búsqueda de Quote Tweets Paso uno: comience con una herramienta o biblioteca Existen varias herramientas, ejemplos de código y bibliotecas que puede usar para realizar una solicitud a este endpoint, pero aquí usaremos la herramienta Postman para simplificar el proceso. Para cargar la colección de Postman de X API v2 en su entorno, haga clic en el siguiente botón: Una vez que tenga cargada la colección de X API v2 en Postman, navegue a la carpeta timeline y busque la solicitud “Quote Tweets by ID”. Paso dos: autentique su solicitud Para realizar correctamente una solicitud a la X API, debe verificar que tiene permiso. Para hacerlo con este endpoint, debe autenticar su solicitud con los métodos OAuth 2.0 App-Only, Código de autorización de OAuth 2.0 con PKCE o Contexto de usuario de OAuth 1.0a. Para simplificar, utilizaremos OAuth 2.0 App-Only con esta solicitud, pero deberá usar uno de los otros métodos de autenticación si desea solicitar metrics privadas o Posts. Debe agregar sus keys and tokens, específicamente el App Access Token (también conocido como App-only Bearer Token), a Postman. Puede hacerlo seleccionando el entorno llamado “X API v2” en la esquina superior derecha de Postman y agregando sus keys and 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 incorporará automáticamente en la pestaña de autorización de la solicitud si lo ha hecho correctamente. Paso tres: identifique y especifique el Post para el cual desea recuperar los Quote Tweets Debe especificar un Post para el cual desea recuperar Quote Tweets dentro de la solicitud pasando el ID de Post. En este ejemplo, el ID de Post que usaremos es 1409931481552543749. En Postman, navegue a la pestaña “Params” e ingrese este ID de Post en la columna “Value” del parámetro id.
KeyValue
id1409931481552543749
Paso cuatro: identifique y especifique qué fields desea recuperar Si hace clic en el botón “Send” después del paso tres, recibirá los fields predeterminados del Objeto de Post en su respuesta: id, text y edit_history_tweet_ids. Si desea recibir fields adicionales, deberá especificarlos en su solicitud con los parámetros field y/o expansion. Para este ejercicio, solicitaremos tres conjuntos adicionales de fields de distintos objetos:
  1. El field adicional tweet.created_at en los objetos de usuario principales.
  2. Los fields predeterminados del objeto de usuario 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, navegue a la pestaña “Params” y agregue el siguiente par key:value a 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ía 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 Tenga en cuenta: En Postman, el parámetro de ruta :id en el campo URL no se actualizará automáticamente con el valor que introduzca en el campo de parámetros id, por lo que la URL anterior incluye :id y no 1409931481552543749. Paso cinco: Realice su solicitud y revise su respuesta Una vez que tenga todo configurado, haga clic en el botón “Send” y recibirá la siguiente respuesta:
{
 "data": [
   {
     "created_at": "2022-02-22T04:31:34.000Z",
     "text": "RT @chris_bail: X ha creado un curso completo (con videos, código y otros materiales) para ayudar a los investigadores a aprender cómo 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 que…",
     "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 que…",
     "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 que…",
     "author_id": "1441574419789324291",
     "id": "1480639272721940486"
   },
   {
     "created_at": "2021-12-16T22:55:24.000Z",
     "text": "RT @chris_bail: X ha creado un curso completo (con videos, código y otros materiales) para ayudar a los investigadores a aprender cómo 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 que…",
     "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 que…",
     "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 que…",
     "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 que…",
     "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 que…",
     "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, de forma predeterminada solo obtendremos 10 Posts. Para acceder a las páginas adicionales de datos, tomaremos el valor del campo next_token de nuestros últimos resultados y agregaremos esa cadena como 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 pagination para explicar más a fondo este concepto.
I