Descripción general
Empresarial
Esta es una API Empresarial disponible únicamente dentro de nuestros niveles de acceso gestionado. Para usar esta API, primero debe configurar una cuenta con nuestro equipo de ventas empresariales. Más información
La Engagement API proporciona acceso a métricas de impresiones y de interacción de los Posts. Si bien la mayoría de las métricas y endpoints requieren autenticarse mediante Contexto de usuario de OAuth 1.0a, puede acceder a las métricas públicas de Favorite, Retweet, Reply y Video Views usando OAuth 2.0 Bearer Token y el endpoint /totals.
Nota: Es posible que observe diferencias entre los datos mostrados en algunos paneles web de X y los datos reportados en la Engagement API. Estas diferencias se deben a que los paneles web normalmente solo muestran interacciones y/o impresiones ocurridas dentro del rango de tiempo seleccionado. Por ejemplo, un panel web puede mostrar la interacción en Posts dentro del lapso de un mes calendario, mientras que la Engagement API puede mostrar interacciones que quedan fuera del lapso de ese mes, pero dentro del rango de tiempo solicitado. En estos casos, la Engagement API debe considerarse la fuente válida.
Endpoints de solicitud
Totales actuales: [/totals]
- Las solicitudes devuelven una métrica total de impresiones y una métrica total de interacciones para los Posts deseados
- Limitado a las siguientes métricas: Impresiones, Interacciones, Favoritos, Respuestas, Retweets, Tweets citados y Reproducciones de video
- Permite recuperar las métricas de Impressions y Engagements para Posts creados en los últimos 90 días usando Contexto de usuario de OAuth 1.0a
- Permite recuperar las métricas de Favorites, Retweets, Quote Tweets, Replies y Video Views para any Post usando el token Bearer de OAuth 2.0
- Los resultados se basan en el total actual de impresiones e interacciones en el momento en que se realiza la solicitud
- Ideal para alimentar un panel de control y para calcular tasas de interacción en una variedad de @handles
- Permite solicitar métricas para hasta 250 Posts por solicitud
Últimas 28 horas: [/28hr]
- Las solicitudes pueden devolver una métrica total de impresiones, una métrica total de interacciones y un desglose de métricas de interacción individuales que se hayan producido en las últimas 28 horas
- Los datos pueden agruparse por Post ID y, en series temporales de forma agregada, por día o por hora
- Ideal para hacer seguimiento del rendimiento del contenido creado recientemente
- Compatible con todas las métricas disponibles
- Permite solicitar métricas para hasta 25 Posts por solicitud
Histórico: [/historical]
- Las solicitudes pueden devolver impresiones, interacciones y un desglose de métricas de interacción individuales del último año, según el momento de la interacción (no el de creación del Post).
- Las solicitudes admiten parámetros de fecha de inicio y fecha de fin, lo que ofrece flexibilidad para acotar un periodo específico de hasta 4 semanas de duración.
- Los datos de interacción del Post se limitan a 365 días hacia atrás.
- Los datos se pueden agrupar por id de Post y, en series temporales agregadas, por día o por hora.
- Ideal para evaluar el rendimiento reciente frente a un punto de referencia histórico o para elaborar una perspectiva histórica del rendimiento de un @handle.
- Admite todas las métricas disponibles.
- Permite solicitar métricas para hasta 25 Posts por solicitud.
Métricas disponibles
| Métrica | Disponibilidad del endpoint | Se requiere contexto de usuario | Descripción |
|---|---|---|---|
| impresiones | Todo | Sí | Un recuento de cuántas veces se ha visto el Post. Esta métrica solo está disponible para Posts publicados en los últimos 90 días. |
| interacciones | Todo | Sí | Un recuento de las veces que un usuario ha interactuado con el Post. Esta métrica solo está disponible para Posts publicados en los últimos 90 días. |
| Favoritos | Todo | Sí - /28 h&/Historial No: /totals | Un conteo de cuántas veces se ha marcado como favorito el Post. |
| retuits | Todo | Sí - /28 h&/Historial No - /totals | Un recuento de cuántas veces se ha Retuiteado el Post. |
| cita textual_Tweets | /totals | No - /totals | Un recuento de las veces que un Post se ha Retuiteado con un comentario (también conocido como Quote). |
| respuestas | Todo | Sí - /28 h&/Historial No: /totals | Un recuento de cuántas veces se ha respondido al Post. |
| video_visualizaciones | Todo | Sí - /28 h&/Historial No - /totals | Recuento de las veces que un video en el Post indicado ha estado al menos un 50 % visible durante dos segundos. Las visualizaciones de video solo están disponibles para los Posts de 1800 días o menos. Si intenta solicitar visualizaciones de video para cualquier Post de más de 1800 días, recibirá el siguiente objeto en su respuesta, junto con un objeto aparte que contiene cualquier otra métrica que haya solicitado: “no compatible_para_video_vistas_Tweet_ids”: [“Tweet_ID”] **Tenga en cuenta:**Es posible que observes una discrepancia entre la métrica de visualizaciones de video que se muestra en las plataformas de X (App móvil y sitio web) y el número que recibes a través de los endpoints /28hr y /historical. - Las visualizaciones de video que se muestran en la interfaz de usuario de X y con el endpoint /totals reflejan el total de visualizaciones del video agregadas en todas las Posts en las que se haya publicado dicho video. Esto significa que la métrica mostrada en la IU incluye las visualizaciones combinadas de cualquier instancia en la que el video haya sido Retweeted o vuelto a publicar en Posts independientes. Esta métrica no incluye visualizaciones de video en GIFs. - Las reproducciones de video proporcionadas por los endpoints /28hr y /historical solo incluirán las generadas por el Post específico para el que estás obteniendo métricas. Esta métrica no incluye reproducciones de video en GIF. |
| multimedia_visualizaciones | /28hr /historical | Sí | Un recuento de todas las visualizaciones (reproducción automática y por clic) de tu contenido multimedia, contabilizadas en videos, GIF e imágenes. |
| multimedia_interacciones (antes Media Clicks) | /28hr /historial | Sí | Un recuento de cuántas veces se ha hecho clic en contenido multimedia, como una imagen o un video, dentro del Post. |
| url_clics | /28hr /historical | Sí | Un recuento de cuántas veces se hizo clic en una URL del Post. |
| hashtag_clics | /28h /historical | Sí | Un recuento de cuántas veces se hizo clic en un hashtag del Post. |
| detalle_se expande | /28h /histórico | Sí | Un recuento de cuántas veces se hizo clic en el Post para ver más detalles. |
| enlace permanente_clics | /28h /histórico | Sí | Un recuento de cuántas veces se ha hecho clic en el enlace permanente del Post (la página web dedicada a ese Post). |
| App_instalar_intentos | /28hr /historial | Sí | Un recuento de cuántas veces se ha producido un evento de instalación de App desde el Post |
| App_aperturas | /28h /historical | Sí | Un recuento de cuántas veces se ha producido un evento de App Open desde el Post. |
| correo electrónico_Tweet | /28hr /historical | Sí | Un recuento de cuántas veces se ha compartido el Post por correo electrónico. |
| usuario_seguidores | /28h /histórico | Sí | Un recuento de cuántas veces se ha seguido al Usuario (autor del Post) a partir de este Post. |
| usuario_perfil_clics | /28h /historial | Sí | Un recuento de cuántas veces el Usuario (autor del Post) ha recibido clics en su perfil desde este Post. |
Agrupaciones de interacción
- tweet.id
- engagement.type
/28hr y /historical pueden proporcionar métricas de series temporales y, por lo tanto, admiten:
- engagement.day
- engagement.hour
Guías
Guía de introducción para desarrolladores
Introducción
¿Qué ofrece la Engagement API?
- La Engagement API proporciona datos de impresiones e interacción de los Posts propios de cualquier cuenta de X de los últimos 90 días, siempre que dicha cuenta haya autorizado tu App para solicitar métricas en su nombre usando 3-legged OAuth. Esta solución potente y fácil de implementar ofrece acceso inmediato a impresiones e interacciones detalladas como clics en URL, clics en #hashtag y muchas más.
- La Engagement API proporciona métricas agregadas totales de favoritos, Retweets, Quote Tweets, respuestas y visualizaciones de video para cualquier Post. Esto puede utilizarse como una forma eficaz de obtener datos básicos de interacción sobre cualquier Post o colección de Posts.
- La Engagement API aporta nuevo valor a las plataformas de escucha social, marketing y publicación al permitir a los clientes medir el ROI en X evaluando de forma efectiva el rendimiento del contenido con más de 15 métricas de desempeño.
- La Engagement API es una API de solicitud/respuesta que permite a los desarrolladores de aplicaciones enviar solicitudes con IDs de Post, métricas deseadas y un intervalo de tiempo, para lo cual la API devuelve data al instante.
¿Por qué integrar? Casos de uso de ejemplo
- Comprenda el alcance total de su contenido para ver cuántas personas lo ven. Vea cuántas personas reproducen videos, hacen clic en enlaces, interactúan con hashtags o instalan mis apps.
- Genere métricas de interacción tanto totales como en series temporales.
- Comprenda métricas básicas de interacción (favoritos, Retweets, Quote Tweets, respuestas) sobre cualquier Post público.
- Use estas métricas para determinar qué tipos de Posts funcionan, de modo que pueda publicarlos con más frecuencia y obtener más impresiones y más interacciones con mi contenido.
- Automatice acciones de marketing (como hacer Retweet de contenido desde otra cuenta propia) cada vez que uno de mis Posts alcance 100 Me gusta u otro umbral.
- Compare y evalúe mis campañas entre sí como herramienta para pruebas A/B.
- Analice qué tipo de contenido resuena con mi departamento de atención al cliente para determinar cómo y cuándo responder.
- Muestre analíticas del contenido publicado desde mi plataforma.
Integración de la API de Engagement
Introducción a la API
- Arreglo de IDs de Post.
- Arreglo que especifica los tipos de métricas de interés. Los tipos incluyen elementos como “impressions”, “retweets”, “hashtag_clicks” y “user_follows”.
- Agrupaciones de interacción, una estructura JSON que indica cómo deseas que se organicen los datos de interacción en la respuesta de la API.
- Totals - Proporciona totales generales de interacciones para Posts. Algunas métricas están disponibles para todos los Posts, mientras que otras solo están disponibles para los últimos 90 días.
- 28 hour - Proporciona métricas de interacción en series temporales de las últimas 28 horas.
- Historical - Proporciona métricas de interacción en series temporales durante hasta cuatro semanas consecutivas para Posts publicados desde el 1 de septiembre de 2014.
Obtener acceso a la API
Realizar una solicitud
1/ Hoy compartimos nuestra visión para el futuro de la plataforma X API— Twitter Dev (@TwitterDev) 6 de abril de 2017
No te pierdas los Posts sobre tu Post. Ahora en iOS puedes ver los Retweets con comentarios, todo en un solo lugar. pic.x.com/oanjZfzC6y — X (@X) 12 de mayo de 2020El primer paso es construir la solicitud a la API en JSON, que consta de estos dos id de Post colocados en un arreglo, un arreglo de tipos de interacción de interés y un objeto JSON “groupings” con nombre personalizado que indica cómo queremos que se organicen las métricas en la respuesta. Así es como se ve nuestra solicitud:
- Content-Type: application/json
- Accept-Encoding: gzip
Autenticación con OAuth
Selección de un endpoint de la Engagement API
- Totales - proporciona totales generales de métricas seleccionadas de Posts “propios” o “no propios”. Algunas métricas están disponibles para todos los Posts, mientras que otras solo para los Posts publicados en los últimos 90 días. Admite 250 Posts por solicitud.
- 28 horas - proporciona métricas de Engagement en series temporales para Posts “propios” de las últimas 28 horas. Admite 25 Posts por solicitud.
- Histórico - proporciona métricas de Engagement en series temporales durante hasta cuatro semanas consecutivas para Posts “propios” publicados desde el 1 de septiembre de 2014. Admite 25 Posts por solicitud.
Conceptos clave
Métricas de impresiones y participación
Contenido de X propio y ajeno
Datos de interacción totales y de series temporales
Endpoints y ejemplos de casos de uso
/totals
- Solo necesito acceso a algunos tipos de métricas (Impressions, Engagements, Favorites, Retweets, Quote Tweets, Replies y Video Views).
- Necesito acceso a datos básicos de interacción para cualquier Post, no solo para Posts propios.
- Quiero comparar el rendimiento con un competidor.
- Quiero hacer seguimiento de estadísticas básicas de interacción para un hashtag o campaña que incluya Posts que no me pertenecen.
- No necesito data desglosada por día u hora; solo necesito el total actual cuando realizo una solicitud.
- Necesito una única métrica para mostrar en un informe o panel y no quiero almacenar ningún dato.
- Quiero mostrar data al cargar la página, y solo necesito hacer una solicitud y obtener una respuesta.
- Necesito acceso para obtener data de cientos de miles o millones de Posts por día.
/28hr
- Necesito acceso a los 17 tipos de métricas.
- Quiero mostrar data de Posts muy recientes publicados en las últimas 28 horas.
- Tengo un proceso que se ejecuta una vez al día para obtener la data que me interesa y solo necesito la data del último día.
- Necesito que las métricas estén desglosadas por día u hora.
- Quiero mostrar series temporales de actividad por hora en un panel.
- Necesito acceso de alto volumen para cientos de miles de Posts por día.
- Tengo capacidades de almacenamiento y puedo actualizar la data una vez al día y mantener un conteo acumulado.
/historical
- Necesito acceso a los 17 tipos de métricas.
- Necesito obtener datos históricos de Posts creados desde septiembre de 2014.
- Quiero mostrar análisis históricos detallados que comparen campañas.
- Necesito que las métricas se desglosen por día u hora.
- No necesito un nivel alto de acceso a la Engagement API y solo necesito obtener data para unos cientos o miles de Posts por día.
Características clave de la Engagement API
- API RESTful que entrega datos JSON y admite solicitudes POST con cuerpos JSON.
- Tipos de solicitudes: Las apps cliente pueden realizar los siguientes tipos de solicitudes:
- Engagements totales — Solicitud HTTP POST al endpoint /totals
- Engagements de las últimas 28 horas — Solicitud HTTP POST al endpoint /28hr
- Engagements históricos — Solicitud HTTP POST al endpoint /historical
- Autenticación OAuth:
- OAuth 1.0 User Context: Todas las métricas están disponibles para los Posts propiedad de un usuario que haya autorizado tu App mediante OAuth de 3 pasos. Debes usar los tokens de acceso de ese usuario al realizar tu solicitud.
- OAuth 2.0 Bearer Token: Métricas seleccionadas (Retweets, Quote Tweets, Replies, Favorites y Video Views) están disponibles para cualquier Post público.
- Metadatos y estructura de la solicitud: Los datos de la solicitud son un objeto JSON que consta de un array de Post IDs, un array de tipos de engagement y una estructura de agrupación de engagement.
- Posts por solicitud:
- Endpoint /totals: 250 Post IDs
- Endpoint /28hr: 25 Post IDs
- Endpoint /historical: 25 Post IDs
- Disponibilidad de métricas de engagement:
- /totals — Totales de métricas desde que se publicó el Post. Impressions y Engagements están disponibles para Posts publicados en los últimos 90 días, mientras que Retweets, Quote Tweets, Replies, Favorites y Video Views están disponibles para todos los Posts.
- /28hr — Últimas 28 horas a partir del momento de la solicitud.
- /historical — Cualquier período de 28 días a partir del 1 de septiembre de 2014.
- Tipos de métricas: Cada solicitud incluye un array de Metric Types. Su disponibilidad depende del endpoint y, si se solicita desde el endpoint /totals, de si los Posts tienen permisos del usuario.
- Endpoint /totals:
- Todos los Posts: Favorites, Retweets, Quote Tweets, Replies y Video Views
- Requiere Contexto de usuario de OAuth 1.0a: Impressions, Engagements, Favorites, Replies y Retweets
- Endpoints /28hr y /historical (requiere Contexto de usuario de OAuth 1.0a con el Access Token del propietario del Post): Impressions, Engagements, Favorites, Replies, Retweets, URL Clicks, Hashtag Clicks, Detail Click, Permalink Clicks, Media Clicks, App Install Attempts, App Opens, Post Emails, Video Views y Media Views
- Endpoint /totals:
- Agrupaciones de engagement: Cada solicitud incluye un array de Engagement Groupings. Con estas agrupaciones puedes personalizar cómo se organizan las métricas devueltas. Se pueden incluir hasta tres agrupaciones en cada solicitud. Las métricas se pueden organizar por los siguientes valores:
- Todos los endpoints: Post ID, Engagement Type
- Endpoints /28hr y /historical: Estos endpoints proporcionan series temporales si se especifican estas agrupaciones adicionales: Engagement Day, Engagement Hour
- Expectativas de integración: Tu equipo será responsable de lo siguiente.
- Crear y mantener una app cliente que pueda enviar solicitudes HTTP a la Engagement API para devolver métricas de engagement para el Post ID incluido en la solicitud.
- Limitaciones
- Las Video Views solo están disponibles para Posts con una antigüedad de 1800 días o menos.
Autenticación con la Engagement API
Tenga en cuenta: X debe habilitar el acceso a la Engagement API para su App de desarrollador antes de que pueda empezar a usar la API. Para ello, asegúrese de compartir el App ID que pretende usar para fines de autenticación con su account manager o con el equipo de soporte técnico.Hay dos métodos de autenticación disponibles con la Engagement API: OAuth 1.0a y OAuth 2.0 Bearer Token. OAuth 2.0 Bearer Token (también conocido como “solo aplicación”) le permite acceder a métricas de interacción públicas. Este método de autenticación se puede usar para obtener los totales de Favorites (también llamados Likes), Retweets, Quote Tweets, Replies y reproducciones de video para cualquier Post público al realizar solicitudes al /totals endpoint. OAuth 1.0a (también conocido como “contexto de usuario”) le permite realizar solicitudes en nombre de un usuario y acceder a métricas de interacción privadas que pertenecen al usuario en cuestión. Este método de autenticación es obligatorio para:
- Todas las solicitudes enviadas al /28hr endpoint y al /historical endpoint
- Acceder a cualquiera de las siguientes métricas privadas: Impressions, Engagements, Media Views, Media Engagements, URL Clicks, Hashtag Clicks, Detail Expands, Permalink Clicks, App Install Attempts, App Opens, Email Post, User Follows y User Profile Clicks
403 Forbidden.
La Engagement API no le permitirá obtener datos de interacción de protected Posts, incluso si se autentica en nombre del usuario propietario de esos Posts. Intentarlo devolverá un error 400 Bad Request, con el mensaje "Tweet ID(s) are unavailable".
Si envía una solicitud en nombre de su propia cuenta de X (es decir, la cuenta propietaria del App de desarrollador), puede generar los Access Tokens necesarios directamente desde el Portal de desarrolladores, en la pestaña “Keys and tokens” del App de desarrollador.
Si realiza una solicitud en nombre de otro usuario, deberá usar el flujo OAuth de 3 pasos para obtener los Access Tokens necesarios. La siguiente documentación contiene más información sobre cómo hacerlo: OAuth 1.0a: how to obtain a user’s access tokens.
Para ejemplos adicionales, incluido cómo autenticarse con OAuth 1.0a, consulte el código de ejemplo en Python de XDevelopers para la Engagement API.
Cambios recientes en la Engagement API
| Metric | Change |
| engagements | Actualizamos las métricas que se suman a las interacciones totales para mantener coherencia con el panel de analíticas de Post. Engagements mide “veces que las personas interactuaron con este Post”. Para los Posts que incluyen medios como un video o un GIF, la métrica engagements ya no incluirá visualizaciones de medios. Las visualizaciones de medios ahora se pueden consultar en una nueva métrica, media_views. |
| media_clicks* | Esta métrica ha sido reemplazada por una nueva métrica llamada “media_engagements”. |
| video_views | A partir del 6 de julio de 2018, esta métrica está disponible para Posts “no propios” mediante el endpoint /totals. Esto significa que puede acceder a las visualizaciones de video de todos los Posts usando autenticación de solo App. Solo puede solicitar visualizaciones de video con una antigüedad menor de 1800 días. Si intenta solicitarlas para un Post con más de 1800 días, recibirá lo siguiente: “unsupported_for_video_views_tweet_ids”: [“TWEET_ID”] Tenga en cuenta que difiere de media_views en que video_views se basa en el estándar MRC de 50% del video en pantalla durante al menos dos segundos. Además, tenga en cuenta que puede observar una discrepancia entre la métrica de visualizaciones de video mostrada en las plataformas propias y operadas por X (aplicación móvil y sitio web) y el número que recibe mediante los endpoints /28hr y /historical. * Las visualizaciones de video mostradas en la interfaz de usuario de X y que se entregan mediante el endpoint /totals presentarán la visualización de video agregada en todos los Posts en los que se haya publicado el video en cuestión. Esto significa que la métrica mostrada en la IU incluye las visualizaciones combinadas de cualquier instancia en que el video haya sido Retuiteado o vuelto a publicar en Posts separados. * Las visualizaciones de video proporcionadas por los endpoints /28hr y /historical solo incluirán aquellas generadas por el Post específico para el que está extrayendo métricas. |
| media_views | Incluye todas las visualizaciones (reproducción automática y por clic) de sus medios contabilizadas en videos, vines, GIF e imágenes. Tenga en cuenta que los Posts con imágenes no muestran la métrica media_views en el panel de analíticas, pero sí se devolverá en la Engagement API. |
| media_engagements* | Incluye la cantidad de clics en sus medios en videos, vines, GIF e imágenes. Esta métrica sustituye a media_clicks. |
| quote_tweets | A partir del 7 de julio de 2020, esta métrica está disponible para Posts “no propios” mediante el endpoint /totals. Esto significa que puede acceder al recuento de Quote Post para todos los Posts usando autenticación de solo App. |
Interpretación de las métricas
Datos de impresiones e interacción
Métricas de video
- Las vistas de video proporcionadas por el endpoint /totals y la interfaz de usuario de X mostrarán las vistas de video agregadas en todos los Posts en los que se haya publicado el video en cuestión. Esto significa que la métrica entregada vía /totals y mostrada en la UI de X incluye las vistas combinadas de cualquier instancia en la que el video haya sido Retwitteado o vuelto a publicar en Posts separados.
- Las vistas de video proporcionadas por los endpoints /28hour y /historical del Engagement API solo incluirán aquellas generadas por el Post específico para el cual estás obteniendo métricas.
Agrupaciones de la Engagement API
- tweet.id
- engagement.type
/28hr y /historical pueden proporcionar métricas de series temporales y, por lo tanto, admiten:
- engagement.day
- engagement.hour
group_by. Las agrupaciones que contengan cuatro valores de group_by solo serán compatibles en uno de los dos formatos siguientes:
Preguntas frecuentes
Empresarial
API de Engagement
¿Cómo puedo acceder a la API de Engagement?
¿Cómo puedo acceder a la API de Engagement?
El acceso a la API de Engagement se ofrece mediante una suscripción Empresarial. Complete este formulario para ponerse en contacto con nuestro equipo de ventas.
How is my usage tracked by '@handle'?
How is my usage tracked by '@handle'?
Si su contrato incluye un límite en la cantidad de handles únicos que se pueden usar con la API de Engagement, el sistema interno de X llevará un registro del número de usuarios autenticados que son propietarios de Posts consultados con la API de Engagement. Los clientes también deben llevar un control de este número único en el lado del cliente. Actualmente, no existe una API ni una interfaz para consultar el uso de @handle en la API de Engagement. El sistema no bloqueará excedentes si se solicitan más @handles de los contratados. Al final del mes de facturación, el número de @handles únicos consultados se compara con el monto contratado y se cobrará el excedente conforme a los términos del contrato.
Can I check my @handle usage for Engagement API?
Can I check my @handle usage for Engagement API?
Actualmente, no existe una API ni una interfaz para consultar el uso de @handle en la API de Engagement. El sistema no bloqueará excedentes si se solicitan más @handles de los contratados. Al final del mes de facturación, el número de @handles únicos consultados se compara con el monto contratado y se cobrará el excedente conforme a los términos del contrato.El campo de metadatos
engagements devuelto en el payload no es igual a la suma de todos los totales de métricas de engagement. ¿Por qué sucede esto?Es lo esperado. El campo de metadatos engagements puede no correlacionarse siempre con la suma de todas las métricas individuales de engagement devueltas por la API. Esto se debe a que el campo engagements puede incluir interacciones adicionales que no tienen métricas específicas desglosadas en el payload. Dicho de otro modo, sumar todos los totales de métricas de engagement puede no igualar el valor que ve en el campo engagements que se devuelve en el payload.Puede considerar el campo de metadatos engagements como cualquier clic o interacción realizada en el Post.
El campo url_clicks en la respuesta del payload devuelve un número, aunque el Post no tiene una URL. ¿Cómo es posible?Puede deberse a que un Post que contiene, por ejemplo, un hashtag (que crea un enlace a otra página) cuente como un clic de URL si un usuario hace clic en él.
Why can I not receive engagement data for a specific Post?
Why can I not receive engagement data for a specific Post?
Hay varias razones por las que quizá no pueda obtener datos de engagement para un Post específico, entre ellas:
- El id del Post o los ids del Post que solicitó no están disponibles según el token de Autenticación que está utilizando para obtener datos en nombre de un tercero.
- El id del Post o los ids del Post que solicitó para el endpoint /totals no son de 90 días o más recientes y, por lo tanto, no están disponibles para devolver impresiones o métricas de engagement.
- El id del Post o los ids del Post que solicitó ya no están disponibles, lo que generalmente indica que se han eliminado o que ya no están disponibles públicamente por otro motivo.
¿Cómo puedo manejar la limitación de tasa con la API de Engagement?
¿Cómo puedo manejar la limitación de tasa con la API de Engagement?
Puede usar la información
x-per-minute-limit y x-per-minute-remaining devuelta en el encabezado de la respuesta cuando realice una solicitud a la API de Engagement para monitorear su consumo.x-per-minute-limit indica cuál es su asignación y x-per-minute-remaining indica cuántas llamadas le quedan.Guía de resolución de errores
Tengo problemas para autenticarme
Tengo problemas para autenticarme
Asegúrate de revisar nuestras directrices sobre Autenticación con la Engagement API.
He proporcionado la clave y el secreto de consumidor correctos, así como el token de acceso y su secreto, pero se devuelve el siguiente error. ¿Qué puedo hacer?
He proporcionado la clave y el secreto de consumidor correctos, así como el token de acceso y su secreto, pero se devuelve el siguiente error. ¿Qué puedo hacer?
¿Aún no encuentras lo que buscas?
Tengo una pregunta que aún no ha sido respondida
Tengo una pregunta que aún no ha sido respondida
Comunícate con soporte técnico y te responderemos a la brevedad.
Referencia de la API
POST insights/engagement
Métodos
| Método | Descripción |
|---|---|
| POST /insights/engagement/totals | Recupera el total de impresiones y de interacciones para una colección de Tweets. |
| POST /insights/engagement/historical | Recupera impresiones e interacciones para una colección de Tweets durante un período de hasta 4 semanas, con cobertura retroactiva hasta el 1 de septiembre de 2014. |
| POST /insights/engagement/28hr | Recupera impresiones e interacciones para una colección de Tweets de las últimas 28 horas. |
Autenticación
- Cualquier solicitud a /totals para obtener los tipos de métrica Impressions y Engagements, que están limitadas a Tweets propios
- Cualquier solicitud a /28hr
- Cualquier solicitud a /historical
- Cualquier solicitud a /totals para obtener los tipos de métrica Favorites, Replies, Retweets o Video Views, que se pueden recuperar para cualquier Tweet
- Descripción general de OAuth
- Uso de 3‑Legged OAuth, también conocido como User Context
- Uso de Application‑Only OAuth
POST /insights/engagement/totals
| Método de solicitud | HTTP POST |
| URL | https://data-api.x.com/insights/engagement/totals |
| Tipo de contenido | application/json |
| Compresión | Gzip. Para realizar una solicitud con compresión Gzip, envía el encabezado Accept-Encoding en la solicitud de conexión. El encabezado debería tener el siguiente aspecto: Accept-Encoding: gzip |
| Formato de Post | Las solicitudes se pueden enviar como una solicitud POST en la que el cuerpo es un objeto JSON que contiene una colección de IDs de Tweet y una agrupación deseada. El POST se formatea como una matriz con unatweets,interacciones, yagrupacionesobjeto. Cada solicitud puede incluir un máximo de 250 IDs de Tweet.Un ejemplo de cuerpo de la solicitud POST es: { “Tweet_ids”: [ “ID de Tweet 1”, “ID de Tweet 2”, “ID de Tweet 3” ], “interacción_Tipos”: [ “impresiones”, “interacciones”, “favoritos”, “cita textual_Tweets” ], “agrupaciones”:{ “nombre del grupo”:{ “grupo_por”: [ “tweet.id”, “engagement.type” ] } } } |
| ids de Tweet | Una matriz que incluye los id de los Tweets para los que se consultará información de interacción. Tenga en cuenta que solo puede solicitar datos de Tweets creados por el @handle autenticado. Se pueden incluir hasta 250 Tweets por solicitud y los id de los Tweets deben representarse como cadenas. |
| Tipos de interacción | Una matriz que incluye los tipos de métricas de interacción que se consultarán. El endpoint Totals admite únicamente los siguientes tipos de interacción:impresiones,interacciones,favoritos,retweets,quote_tweets,replies,video_views.El /totalsel endpoint permite recuperarimpresionesyinteraccionespara los Tweets creados en los últimos 90 días yfavoritos,retuits,quote_tweets,respuestas, yvideo_viewspara cualquier Tweet. |
| Agrupaciones | Los resultados de la Engagement API pueden devolverse en distintos grupos para ajustarse mejor a sus necesidades. Puede incluir un máximo de 3 agrupaciones por solicitud. Para cada agrupación, puede definir un nombre personalizado para facilitar la referencia a este tipo de agrupación en su aplicación. Una vez que hayas definido un nombre para el grupo, puedes optar por agrupar tweet.idy/oengagement.type.Las agrupaciones se aplican de forma secuencial, por lo que puedes cambiar el formato de resultado deseado modificando el orden de tu agrupación_por valores. Un ejemplo de agrupación que mostrará métricas separadas por id de Tweet y por tipo de métrica sería: “agrupaciones”:{ “mi nombre de grupo”:{ “grupo_por”: [ “tweet.id”, “engagement.type” ] } } |
| Límite de tamaño de Post | Se pueden realizar solicitudes con un máximo de 250 IDs de Tweet a la vez. |
| Formato de la respuesta | JSON. El encabezado de su solicitud debe especificar el formato JSON para la respuesta. |
| Límite de velocidad | Se aplicarán límites de tasa por minuto, según lo estipulado en tu contrato y de acuerdo con tu nivel de acceso. |
| Ejemplo de solicitud (métricas públicas) | curl —request POST —urlhttps://data-api.x.com/insights/engagement/totals —header’accept-encoding: gzip’ —header’autorización: Bearer’ —header’content-type: application/json’ —data’{ “Tweet_ids”: [ “1070059276213702656”,“1021817816134156288”,“1067094924124872705” ], “interacción_tipos”: [ “Favoritos”,“retuits”,“respuestas”,“cita textual_Tweets”,“video_visualizaciones” ], “agrupaciones”:{ “perTweetMetricsUnowned”:{ “grupo_por”: [ “tweet.id”, “engagement.type” ] } } } —verbose —compressed |
| Ejemplo de solicitud | curl —request POST —urlhttps://data-api.x.com/insights/engagement/totals —header’accept-encoding: gzip’ —header’autorización: OAuth oauth_consumidor_key=“consumer-key-for-App”,oauth_nonce=“nonce-generado”,oauth_firma=“firma-generada”,oauth_firma_method=“HMAC-SHA1”, OAuth_timestamp=“marca-de-tiempo-generada”,oauth_token=“token-de-acceso-para-usuario-autorizado”, OAuth_version=“1.0”’ —header’content-type: application/json’ —data’{ “Tweet_ids”: [ “1060976163948904448”,“1045709644067471360” ], “engagement_Tipos”: [ “Favoritos”,“respuestas”,“retuits”,“video_visualizaciones”,“impresiones”,“interacciones” ], “agrupaciones”:{ “perTweetMetricsOwned”:{ “grupo_por”: [ “tweet.id”, “engagement.type” ] } } }’ —verbose —compressed |
| Ejemplo de respuesta (métricas públicas) | { “perTweetMetricsUnowned”:{ “1021817816134156288”:{ “favoritos”:“530”, “cita textual_Tweets”:“79”, “respuestas”:“147”, “retuits”:“323”, “video_visualizaciones”:“0” }, “1067094924124872705”:{ “favoritos”:“1360”, “cita textual_Tweets”:“29”, “respuestas”:“56”, “retuits”:“178”, “video_visualizaciones”:“5754512” }, “1070059276213702656”:{ “Favoritos”:“69”, “cita textual_Tweets”:“5”, “respuestas”:“7”, “retuits”:“26”, “video_visualizaciones”:“0” } } } |
| Ejemplo de respuesta | { “perTweetMetricsOwned”:{ “1045709644067471360”:{ “interacciones”:“2”, “favoritos”:“0”, “impresiones”:“47”, “respuestas”:“0”, “retweets”:“8”, “cita textual_Tweets”:“5”, “video_visualizaciones”:“0” }, “1060976163948904448”:{ “interacciones”:“4”, “Favoritos”:“0”, “impresiones”:“148”, “respuestas”:“1”, “retuits”:“9”, “cita textual_Tweets”:“2”, “video_visualizaciones”:“0” } } } |
| id de Tweets no disponibles | Para las consultas que incluyan IDs de Tweet que ya no estén disponibles (p. ej., porque se eliminaron), se devolverán los datos correspondientes para todos los IDs de Tweet disponibles, y los IDs de Tweet no disponibles se incluirán en una matriz llamadaunavailable_tweet_ids. Por ejemplo:{ “Comenzar”:“2015-11-17T22:00:00Z”, “final”:“2015-11-19T02:00:00Z”, “no disponible_Tweet_ids”: [ “323456789” ], “grupo1”:{ “423456789”:{ “Favoritos”:“67”, “respuestas”:“8”, “retweets”:“26”, “cita textual_Tweets”:“2” } } } |
POST /insights/engagement/28hr
| Método de la solicitud | POST HTTP |
| URL | https://data-api.x.com/insights/engagement/28hr |
| Tipo de contenido | application/json |
| Compresión | Gzip. Para realizar una solicitud con compresión Gzip, incluye el encabezado Accept-Encoding en la solicitud de conexión. El encabezado debería verse de la siguiente manera: Accept-Encoding: gzip |
| Formato de Post | Las solicitudes pueden enviarse como una solicitud POST cuyo cuerpo es un objeto JSON que contiene una colección de id de Tweet y una forma de agrupación deseada. El POST se formatea como una matriz con untweets,interacciones, yagrupacionesobjeto. Cada solicitud puede incluir un máximo de 25 IDs de Tweet.Un ejemplo de cuerpo de la solicitud POST es: { “Tweet_ids”: [ “ID de Tweet 1”, “ID de Tweet 2”, “ID de Tweet 3” ], “interacción_Tipos”: [ “impresiones”, “interacciones”, “URL_clics”, “detalle_amplía” ], “agrupaciones”:{ “nombre del grupo”:{ “grupo_por”: [ “tweet.id”, “engagement.type”, “interacción.hora” ] } } } |
| id de Tweet | Una matriz que incluye los IDs de Tweet de los Tweets para los que se consultarán datos de interacción. Tenga en cuenta que solo puede solicitar datos de Tweets creados por el @handle autenticado. El endpoint de 28 horas admite hasta 25 Tweets por solicitud, y los IDs de Tweet deben representarse como cadenas. |
| Tipos de interacción | Una matriz con los tipos de métricas de interacción que se consultarán. Para el endpoint de 28 horas, impresiones,interacciones, y todos los tipos de interacción individuales son métricas admitidas. Para ver la lista completa de métricas de interacción admitidas, consultaDatos de engagement. |
| Agrupaciones | Los resultados de la Engagement API pueden devolverse en distintos grupos para ajustarse mejor a sus necesidades. Puede incluir un máximo de 3 agrupaciones por solicitud. Para cada agrupación, puedes definir un nombre personalizado para facilitar la referencia a este tipo de agrupación en tu aplicación. Una vez definido el nombre, puedes optar por agrupar por uno o más de los siguientes valores: tweet.id engagement.type engagement.day interaccion.hora Los agrupamientos se respetan en serie, por lo que puedes cambiar el formato de resultado deseado modificando el orden de tus agrupaciones_por valores. Un ejemplo de agrupación que mostrará métricas separadas por ID de Tweet, tipo de métrica y que tiene el siguiente aspecto: “agrupaciones”:{ “mi nombre de grupo”:{ “grupo_por”: [ “tweet.id”, “engagement.type”, “engagement.day” ] } } Agrupaciones que tienen 4 group_byLos elementos solo son válidos si utilizan uno de los dos órdenes siguientes. Las solicitudes que tengan 4group_bylos elementos en un único grupo que no sean uno de los siguientes generarán un error. Además, solo se permite un único grupo con 4group_byelementos se permitirán por solicitud.”grupo_por”: [ “Tweet.id”, “engagement.type”, “engagement.day”, “interacción.hora” ] “grupo_por”: [ “engagement.type”, “tweet.id”, “engagement.day”, “engagement.hour” ] |
| Límite de tamaño de Post | Se pueden realizar solicitudes para un máximo de 25 id de Tweet a la vez. |
| Formato de la respuesta | JSON. El encabezado de la solicitud debe especificar el formato JSON para la respuesta. |
| Límite de tasa de solicitudes | Se te aplicarán límites de velocidad por minuto, según lo establecido en tu contrato y de acuerdo con tu nivel de acceso. |
| Solicitud de ejemplo | curl -X POST”https://data-api.x.com/insights/engagement/28hr” -H’Accept-Encoding: gzip’ -H’Autorización OAuth oauth_cliente_key=“consumer-key-para-la-App”,oauth_nonce=“nonce-generado”,oauth_firma=“firma-generada”,oauth_firma_método=“HMAC-SHA1”, OAuth_timestamp=“marca-de-tiempo-generada”,oauth_token=“token-de-acceso-para-usuario-autorizado”, OAuth_versión=“1.0”’ -d’{ “Tweet_ids”: [ “123456789” ], “participación_tipos”: [ “impresiones”, “interacciones” ], “agrupaciones”:{ “serie-horaria-por-hora”:{ “grupo_por”: [ “tweet.id”, “engagement.type”, “engagement.day”, “engagement.hour” ] } } }‘ |
| Ejemplo de respuesta | { “comenzar”:“2015-09-14T17:00:00Z”, “final”:“2015-09-15T22:00:00Z”, “serie-horaria-por-hora”:{ “123456789”:{ “impresiones”:{ “2015-09-14”:{ “17”:“551”, “18”:“412”, “19”:“371”, “20”:“280”, “21”:“100”, “22”:“19”, “23”:“6” }, “2015-09-15”:{ “00”:“5”, “01”:“2”, “02”:“7”, “03”:“3”, “04”:“1”, “05”:“0”, “06”:“0”, “07”:“0”, “08”:“0”, “09”:“0”, “10”:“0”, “11”:“0”, “12”:“0”, “13”:“0”, “14”:“0”, “15”:“0”, “16”:“0”, “17”:“0”, “18”:“0”, “19”:“0”, “20”:“0”, “21”:“0” } }, “interacciones”:{ “2015-09-14”:{ “17”:“0”, “18”:“0”, “19”:“0”, “20”:“0”, “21”:“0”, “22”:“0”, “23”:“0” }, “2015-09-15”:{ “00”:“0”, “01”:“0”, “02”:“0”, “03”:“0”, “04”:“0”, “05”:“0”, “06”:“0”, “07”:“0”, “08”:“0”, “09”:“0”, “10”:“0”, “11”:“0”, “12”:“0”, “13”:“0”, “14”:“0”, “15”:“0”, “16”:“0”, “17”:“0”, “18”:“0”, “19”:“0”, “20”:“0”, “21”:“0” } } } } } |
| id de Tweets no disponibles | Para las consultas que incluyan IDs de Tweet que ya no estén disponibles (p. ej., porque fueron eliminados), se devolverán los datos correspondientes para todos los IDs de Tweet disponibles y se hará referencia a los IDs de Tweet no disponibles en una matriz llamadaunavailable_tweet_ids. Por ejemplo:{ “comenzar”:“2015-11-17T22:00:00Z”, “fin”:“2015-11-19T02:00:00Z”, “no disponible_Tweet_ids”: [ “323456789” ], “grupo1”:{ “423456789”:{ “favoritos”:“67”, “respuestas”:“8”, “retuits”: 26 } } } |
POST /insights/engagement/historical
| Método de petición | POST de HTTP |
| URL | https://data-api.x.com/insights/engagement/historical |
| Tipo de contenido | application/json |
| Compresión | Gzip. Para realizar una solicitud con compresión Gzip, envía un encabezado Accept-Encoding en la solicitud de conexión. El encabezado debería tener el siguiente aspecto: Accept-Encoding: gzip |
| Formato de Post | Las solicitudes se pueden enviar como una solicitud POST cuyo cuerpo es un objeto JSON que contiene una colección de IDs de Tweet y una agrupación deseada. El POST se formatea como una matriz con untweets,interacciones, yagrupacionesobjeto. Cada solicitud puede incluir un máximo de 25 IDs de Tweet. Cada solicitud puede especificar una fecha de inicio y una fecha de fin personalizadas de hasta cuatro semanas de duración.{ “Tweet_ids”: [ “ID de Tweet 1”, “ID de Tweet 2”, “ID de Tweet 3” ], “participación_tipos”: [ “impresiones”, “interacciones”, “url_clics”, “detalles_se expande” ], “agrupaciones”:{ “nombre del grupo”:{ “grupo_por”: [ “tweet.id”, “engagement.type”, “interacción.hora” ] } } } |
| Fecha de inicio y de fin | Se pueden especificar fechas de inicio y fin personalizadas con lainicioyfinvalores como parte de la solicitud. Debe especificar una fecha de inicio y una fecha de fin cuya duración no sea superior a 4 semanas. La fecha de inicio más antigua posible en este momento es el 1 de septiembre de 2014. No se admiten fechas de fin en el futuro. Si no se proporcionan fechas de inicio y fin, la API, por defecto, tomará las 4 semanas inmediatamente anteriores.El nivel de granularidad más bajo con el que la API de Engagement puede devolver data es por hora. Para cualquier solicitud realizada con valores de Start o End que no coincidan exactamente con un límite de hora, las solicitudes se ajustarán a la hora inclusiva más cercana. Por ejemplo, una solicitud con”comenzar”:“2015-07-01T12:24:00Z”y”fin”:“2015-07-10T08:37:00Z”de manera predeterminada será”inicio”:“2015-07-01T12:00:00Z”,“fin”:“2015-07-10T09:00:00Z”. |
| id de Tweet | Una matriz que incluye los IDs de los Tweet cuyos datos de interacción se consultarán. Tenga en cuenta que solo puede solicitar data para Tweets creados por el @handle autenticado. El endpoint histórico de 4 semanas admite hasta un máximo de 25 Tweets por solicitud y los IDs de los Tweet deben representarse como cadenas. |
| Tipos de interacción | Una matriz que incluye los tipos de métricas de interacción que se consultarán. Para el endpoint histórico de 4 semanas, impresiones,interacciones, y todos los tipos de interacción individuales son métricas admitidas. Para ver la lista completa de métricas de interacción admitidas, consultaDatos de interacción.Nota: Actualmente hay tres métricas que aparecerán como cero en las consultas realizadas antes del 15 de septiembre de 2015: favoritos,respuestas, yretuits. |
| Agrupaciones | Los resultados de la Engagement API pueden devolverse en distintos grupos para ajustarse mejor a tus necesidades. Puedes incluir un máximo de 3 agrupaciones por solicitud. Para cada agrupación, puede definir un nombre personalizado para facilitar la referencia a este tipo de agrupación en su aplicación. Una vez definido el nombre, puede elegir agrupar por uno o varios de los siguientes valores: tweet.id engagement.type engagement.day engagement.hour Los agrupamientos se respetan en serie, por lo que puedes cambiar el formato de resultado deseado modificando el orden de tus grupos_por valores. Un ejemplo de agrupación que mostrará métricas separadas por ID de Tweet, tipo de métrica, y que se ve así: “agrupaciones”:{ “mi nombre de grupo”:{ “grupo_por”: [ “tweet.id”, “engagement.type”, “engagement.day” ] } } Agrupaciones que tienen 4 group_byLos elementos solo son válidos si usan uno de los dos órdenes siguientes. Las solicitudes que tengan 4group_bylos elementos en una única agrupación que no sean uno de los siguientes generarán un error. Además, solo se permitirá una única agrupación con 4group_bySe permitirán elementos por solicitud.”grupo_por”: [ “tweet.id”, “tipo_de_interacción”, “engagement.day”, “engagement.hour” ] “grupo_por”: [ “engagement.type”, “tweet.id”, “engagement.day”, “interacción.hora” ] |
| Límite de tamaño de POST | Se pueden realizar solicitudes para un máximo de 25 id de Tweet a la vez. |
| Formato de la respuesta | JSON. El encabezado de su solicitud debe especificar el formato JSON para la respuesta. |
| Límite de solicitudes | Se te aplicarán límites de tasa por minuto, según lo especificado en tu contrato y de acuerdo con tu nivel de acceso. |
| Solicitud de ejemplo | curl -XPOST”https://data-api.x.com/insights/engagement/historical” -H’Accept-Encoding: gzip’ -H’Autorización OAuth oauth_cliente_key=“clave-de-consumidor-de-la-App”,oauth_nonce=“nonce-generada”,oauth_firma=“firma-generada”,oauth_firma_method=“HMAC-SHA1”, OAuth_marcaDeTiempo=“marca_de_tiempo_generada”,oauth_token=“token-de-acceso-para-usuario-autorizado”, OAuth_version=“1.0”’ -d’{ “comenzar”:“2015-08-01”, “fin”:“2015-08-15”, “Tweet_ids”: [ “123456789”, “223456789”, “323456789” ], “engagement_Tipos”: [ “impresiones”, “interacciones”, “url_clics”, “detalle_se expande” ], “agrupaciones”:{ “tipos-por-Tweet-id”:{ “grupo_por”: [ “tweet.id”, “engagement.type” ] } } }‘ |
| Ejemplo de respuesta | { “iniciar”:“2015-08-01T00:00:00Z”, “final”:“2015-08-15T00:00:00Z”, “tipos-por-id-de-Tweet”:{ “123456789”:{ “impresiones”:“0”, “interacciones”:“0”, “url_clics”:“0”, “detalle_se expande”:“0” }, “223456789”:{ “impresiones”:“788”, “interacciones”:“134”, “URL_clics”:“30”, “detalle_se expande”:“1323” }, “323456789”:{ “impresiones”:“4”, “interacciones”:“0”, “url_clics”:“2”, “detalle_se expande”:“0” } } } |
| id de Tweets no disponibles | Para las consultas que incluyan IDs de Tweet que ya no estén disponibles (p. ej., porque se hayan eliminado), se devolverán los datos correspondientes para todos los IDs de Tweet disponibles y los IDs de Tweet no disponibles se mencionarán en una matriz llamadaunavailable_tweet_ids. Por ejemplo:{ “comenzar”:“2015-11-17T22:00:00Z”, “fin”:“2015-11-19T02:27:50Z”, “no disponible_Tweet_ids”: [ “323456789” ], “grupo1”:{ “423456789”:{ “Favoritos”:“67”, “respuestas”:“8”, “retweets”: 26 } } } |
Códigos de respuesta
| Estado | Texto | Descripción |
|---|---|---|
| 200 | OK | La solicitud se realizó correctamente. |
| 400 | Bad Request | Generalmente, esta respuesta se debe a JSON no válido en la solicitud o a que no se envió ningún cuerpo JSON. |
| 401 | Unauthorized | La autenticación HTTP falló por credenciales no válidas. Verifique sus claves y tokens de OAuth. |
| 404 | Not Found | No se encontró el recurso en la URL a la que se envió la solicitud, probablemente porque se usó una URL incorrecta. |
| 429 | Too Many Requests | Su App excedió el límite de solicitudes a la API. |
| 500 | Internal Server Error | Se produjo un error en el lado de Gnip. Reintente la solicitud usando retroceso exponencial. |
| 502 | Proxy Error | Se produjo un error en el lado de Gnip. Reintente la solicitud usando retroceso exponencial. |
| 503 | Service Unavailable | Se produjo un error en el lado de Gnip. Reintente la solicitud usando retroceso exponencial. |
Mensajes de error
| Error Message | Description |
|---|---|
"errors":["Your account could not be authenticated. Reason: Access token not found"] | Un error en el componente de Autenticación de la solicitud. El “Reason” debería proporcionar información útil para solucionar el error. Si no puede resolverlo, envíe el error completo, incluido el “Reason”, a nuestro equipo de soporte. |
"errors":["1 Tweet ID(s) are unavailable"],"unavailable_tweet_ids": ["TWEET_IDS"] | El ID de Tweet o los IDs de Tweet que solicitó ya no están disponibles, lo que generalmente indica que se han eliminado o que ya no son públicos por otro motivo. |
"errors":["Impressions & engagements for tweets older than 90 days (*TIME_PERIOD*) are not supported"],"unsupported_for_impressions_engagements_tweet_ids":[*TWEET_IDS*] | El ID de Tweet o los IDs de Tweet que solicitó específicamente para el endpoint /totals tienen más de 90 días y, por lo tanto, no están disponibles para devolver las métricas de impresiones o de engagement. |
"errors":["Forbidden to access tweets: *TWEET_IDS*"] | El ID de Tweet o los IDs de Tweet que solicitó no están disponibles según el token de autenticación que está usando para recuperar datos en nombre de un tercero. |