Límites de uso

La API de Calendario de Google tiene cuotas para garantizar que todos los usuarios la utilicen de manera justa. Hay tres limitaciones importantes que debes tener en cuenta cuando uses la API de Calendar:

  • Cuotas de uso de la API: Se aplican por proyecto y por usuario. Para obtener más información, consulta Tipos de cuotas de uso de la API de Calendar.

  • Límites de uso generales de Calendario de Google: La API de Calendario de Google es un servicio compartido que tiene limitaciones para proteger el rendimiento general del sistema de Google Workspace. Para obtener más información, consulta Evita los límites de uso del Calendario.

  • Límites operativos: Estos límites se pueden restringir en cualquier momento. Por ejemplo, si intentas escribir en un solo calendario en rápida sucesión.

Cuotas de la API de Calendar

Se aplican dos tipos de cuotas:

  • Por minuto y por proyecto: Es la cantidad de solicitudes que tu proyecto de Google Cloud puede realizar en un minuto.

  • Por minuto por usuario por proyecto: Es la cantidad de solicitudes que puede realizar un usuario en particular en tu proyecto de Cloud. El objetivo de este límite es ayudarte a garantizar una distribución justa del uso entre tus usuarios.

Las cuotas se calculan por minuto con una ventana deslizante. Un aumento repentino del tráfico que supere tu cuota por minuto durante un minuto generará una limitación de la tasa durante el siguiente período para garantizar que, en promedio, tu uso permanezca dentro de las cuotas.

En la siguiente tabla, se detallan estos límites:

Tipo de límite de uso Límite
Por minuto, por proyecto 10,000 solicitudes
Por minuto, por usuario y por proyecto 600 solicitudes

Límite de facturación diario

Este límite por día y por proyecto define la cantidad máxima de solicitudes que tu proyecto de Google Cloud puede usar en un período de 24 horas antes de que se apliquen cargos.

El uso por debajo de este umbral no genera cargos adicionales y no se factura tu cuenta de Google Cloud. Los detalles de facturación completos se compartirán más adelante en 2026, con un aviso de al menos 90 días antes de que entren en vigencia los cambios.

No puedes solicitar un aumento en este límite de umbral diario.

En la siguiente tabla, se detalla el límite:

Tipo de límite de umbral Límite
Por día y por proyecto 1,000,000 de solicitudes

Para obtener más información, consulta Modelo estandarizado de Google Workspace para herramientas y APIs de agentes.

Cómo resolver errores de cuota basados en el tiempo

Para todos los errores basados en el tiempo (un máximo de N solicitudes por X minutos), te recomendamos que tu código detecte la excepción y use una retirada exponencial truncada para asegurarte de que tus dispositivos no generen una carga excesiva.

La retirada exponencial es una estrategia estándar de manejo de errores para aplicaciones de red. Un algoritmo de retirada exponencial reintenta las solicitudes con tiempos de espera que aumentan de forma exponencial entre las solicitudes, hasta un tiempo de retirada máximo. Si las solicitudes siguen sin tener éxito, es importante que las demoras entre las solicitudes aumenten con el tiempo hasta que la solicitud se realice correctamente.

Algoritmo de ejemplo

Un algoritmo de retirada exponencial vuelve a intentar las solicitudes de forma exponencial, lo que aumenta el tiempo de espera entre los reintentos hasta un tiempo de retirada máximo. Por ejemplo:

  1. Realiza una solicitud a la API de Calendar de Google.
  2. Si la solicitud falla, espera 1 + random_number_milliseconds segundos y vuelve a intentarla.
  3. Si la solicitud falla, espera 2 + random_number_milliseconds segundos y vuelve a intentar la solicitud.
  4. Si la solicitud falla, espera 4 + random_number_milliseconds segundos y vuelve a intentarla.
  5. Y así sucesivamente, hasta un tiempo de maximum_backoff.
  6. Continúa con la espera y los reintentos hasta llegar a una cantidad máxima, pero no aumentes el período de espera entre los reintentos.

Donde:

  • El tiempo de espera es min(((2^n)+random_number_milliseconds), maximum_backoff), con n incrementado en 1 para cada iteración (solicitud).
  • random_number_milliseconds es un número aleatorio de milisegundos menor o igual que 1,000. Esto ayuda a evitar los casos en los que muchos clientes se sincronizan por alguna situación y todos realizan el reintento a la vez, lo que hace que se envíen solicitudes en oleadas sincronizadas. El valor de random_number_milliseconds se vuelve a calcular después de cada reintento de solicitud.
  • maximum_backoff suele ser de 32 o 64 segundos. El valor apropiado depende del caso de uso.

El cliente puede seguir reintentando después de que alcanza el tiempo maximum_backoff. Después de este punto, los reintentos no necesitan continuar con el aumento del tiempo de retirada. Por ejemplo, si un cliente usa un tiempo de maximum_backoff de 64 segundos, luego de alcanzar este valor, el cliente puede volver a intentarlo cada 64 segundos. En algún momento, se debe evitar que los clientes vuelvan a intentarlo de forma indefinida.

El tiempo de espera entre los reintentos y la cantidad de reintentos dependen del caso práctico y las condiciones de la red.

Precios

Todo uso estándar de la API del Calendario de Google está disponible sin costo adicional. Se prevé que, más adelante en 2026, superar los límites de solicitudes de cuota generará cargos en tu cuenta de facturación de Google Cloud. Para obtener más información, consulta Modelo estandarizado de Google Workspace para herramientas y APIs de agentes.

Solicita un aumento de la cuota

Según el uso de recursos de tu proyecto, es posible que desees solicitar un ajuste de cuota. Las llamadas a la API realizadas por una cuenta de servicio se consideran como si se usara una sola cuenta. Solicitar una cuota ajustada no garantiza la aprobación. Las solicitudes de ajuste de cuota que aumentarían significativamente el valor de la cuota pueden tardar más en aprobarse.

No todos los proyectos tienen las mismas cuotas. A medida que tu uso de Google Cloud aumenta con el tiempo, es posible que debas incrementar los valores de tus cuotas. Si prevés un aumento considerable en el uso, puedes solicitar ajustes en la cuota de forma proactiva en la página Cuotas y límites del sistema de la consola de Google Cloud.

Para obtener más información, consulta los siguientes recursos:

Solucionar problemas

Si se excede cualquiera de las cuotas, se aplicará un límite de frecuencia y recibirás un código de estado 403 usageLimits o 429 usageLimits en respuesta a tus consultas.

Si esto ocurre, puedes probar lo siguiente:

  1. Asegúrate de seguir todas las prácticas recomendadas: usa la retirada exponencial, aleatoriza los patrones de tráfico y usa notificaciones push.

  2. Si tu proyecto está creciendo y tienes más usuarios, puedes solicitar un aumento de cuota.

  3. Si alcanzas los límites de cuota por usuario, puedes hacer lo siguiente:

    • Si usas una cuenta de servicio, asigna la carga a los usuarios o divídela entre varias cuentas de servicio.

    • Si bien puedes solicitar un aumento en la cuota por usuario, en general, no se recomienda aumentarla por encima del valor predeterminado, ya que tu aplicación podría comenzar a alcanzar otros tipos de límites, por ejemplo, límites generales de uso del calendario o límites operativos.

  4. Registra un proyecto independiente solo para pruebas que tenga una configuración similar a la de tu proyecto de producción para probar los límites de cuota. Para obtener más información, consulta Cómo controlar el límite de cuota de prueba.

Aleatoriza los patrones de tráfico

Los clientes de calendario son propensos a patrones de tráfico irregulares causados por varios clientes que realizan operaciones al mismo tiempo. Por ejemplo, una práctica inadecuada común para un cliente de Calendar es realizar una sincronización completa a la medianoche. Esto casi con certeza te llevaría a superar tu cuota por minuto y generaría limitaciones de frecuencia y reintentos.

Para evitar esto, asegúrate de que tu tráfico se distribuya a lo largo del día siempre que sea posible. Si tu cliente necesita realizar una sincronización diaria, pídele que determine una hora aleatoria (diferente para cada cliente). Si necesitas realizar una operación de forma periódica, varía el intervalo en +/- un 25%. Esto distribuirá el tráfico de manera más uniforme y proporcionará una experiencia del usuario mucho mejor.

Cómo usar las notificaciones push

Un caso de uso común es realizar una acción cada vez que cambia algo en el calendario del usuario. Un antipatrón aquí es sondear repetidamente cada calendario de interés. Esto agotará muy rápidamente toda tu cuota. Por ejemplo, si tu aplicación tiene 5,000 usuarios y sondea el calendario de cada usuario una vez por minuto, esto requiere una cuota por minuto de al menos 5,000, incluso antes de que se realice cualquier trabajo.

Las aplicaciones del servidor pueden registrarse para recibir notificaciones push, lo que nos permite notificarte cuando sucede algo de interés. Estas requieren más trabajo para configurarse, pero permiten un uso mucho más eficiente de tu cuota y brindan una mejor experiencia del usuario. Asegúrate de especificar el eventType sobre el que deseas recibir notificaciones. Para obtener más información, consulta Notificaciones push.

Asignación adecuada con cuentas de servicio

Si tu aplicación realiza solicitudes con la delegación de todo el dominio, de forma predeterminada, se le cobra a la cuenta de servicio en relación con las cuotas "por minuto por usuario por proyecto", y no al usuario al que suplantas. Esto significa que es probable que la cuenta de servicio se quede sin cuota y se limite su velocidad, incluso si opera en los calendarios de varios usuarios.

Para evitar esto, usa el parámetro de URL quotaUser (o el encabezado HTTP x-goog-quota-user) para indicar qué usuario se cobra. Solo se usa para los cálculos de cuota. Para obtener más información, consulta Cómo limitar las solicitudes por usuario.

Cómo probar el control de límites de cuota

Para asegurarte de que tu aplicación pueda controlar correctamente el alcance de los límites de cuota en la práctica (por ejemplo, a través de reintentos con retirada exponencial) y minimizar cualquier posible interrupción para tus usuarios, te recomendamos que pruebes tu situación en un entorno real.

Para realizar pruebas sin interferencias en el uso real de tu aplicación, te recomendamos que registres un proyecto independiente solo para pruebas en la consola de Google Cloud y, luego, configures la pantalla de consentimiento de OAuth de manera similar a tu proyecto de producción. Luego, puedes establecer límites de cuota artificialmente bajos para este proyecto y observar el comportamiento de tu aplicación.

Cuotas del servidor de MCP de Calendar

El servidor de MCP de Calendar usa una métrica de asignación de costos de consultas. En las siguientes tablas, se detalla el costo de la consulta para cada método del servidor de MCP de Calendar por sección:

Cuotas del MCP de Calendario

Se aplican dos tipos de cuotas:

  • Por minuto y por proyecto: Este es el costo de la consulta para tu proyecto de Google Cloud por un minuto.

  • Por minuto, por usuario y por proyecto: Este es el costo de la consulta para tu proyecto de Google Cloud durante un minuto que puede usar cualquier usuario en particular.

En la siguiente tabla, se detallan estas cuotas:

Tipo de límite de uso Costo de la búsqueda
Por minuto, por proyecto 10,000
Por minuto, por usuario y por proyecto 600

Cuotas del conjunto de herramientas de MCP de Calendar

En la siguiente tabla, se detalla el costo de la consulta para cada conjunto de herramientas de calendarmcp.googleapis.com:

Extremo Herramienta Costo de la búsqueda

/mcp/v1

create_event

1

delete_event

10

get_event

1

list_events

1

respond_to_event

1

search_events

1

update_event

1

suggest_time

1

list_calendars

1

Para obtener más información, consulta la referencia de la API de Calendar MCP.