Los límites y las cuotas protegen la infraestructura de Google de un proceso automatizado que use la API de Directory de forma inapropiada. Las solicitudes excesivas de una API pueden deberse a un error tipográfico inofensivo o a un sistema diseñado de forma ineficiente que realiza llamadas a la API innecesarias. Independientemente de la causa, bloquear el tráfico de una fuente específica una vez que alcanza un nivel determinado es necesario para el estado general del sistema de Google Workspace. Esto garantiza que las acciones de un desarrollador no puedan afectar negativamente a la comunidad en general.
En el caso poco probable de que falle tu solicitud a la API, esta mostrará un código de estado HTTP y el motivo del error. Además, el cuerpo de la respuesta contiene una descripción detallada de la causa del error.
En la siguiente lista, se muestran los posibles códigos de error, los motivos, las descripciones correspondientes y las acciones recomendadas para los errores que se producen cuando se alcanzan los límites de cuota.
| Código | Motivo | Descripción | Acción recomendada |
|---|---|---|---|
| 403 | userRateLimitExceeded | Indica que se superó el límite de frecuencia del usuario. El valor predeterminado que se establece en la consola de Google Cloud es de 2,400 consultas por minuto por usuario por proyecto de Google Cloud. | Aumenta los límites por usuario en la página Cuotas de la API del SDK de Admin de tu proyecto de Google Cloud o disminuye la frecuencia con la que envías las solicitudes con la retirada exponencial. |
| 403 | quotaExceeded | Indica que se alcanzó el límite de solicitudes simultáneas para una operación determinada. | Vuelve a intentarlo con una retirada exponencial. Debes reducir la frecuencia con la que envías las solicitudes. |
| 429 | rateLimitExceeded | Indica que se alcanzó el límite de solicitudes simultáneas para una operación determinada. | Vuelve a intentarlo con una retirada exponencial. Debes reducir la frecuencia con la que envías las solicitudes. Este límite se aplica por cuenta de Google Workspace, no por cliente de API ni por usuario. Este límite no se puede aumentar. |
Implementar retirada exponencial
La retirada exponencial es el proceso en el que un cliente reintenta periódicamente una solicitud con errores durante un período cada vez más prolongado. Es una estrategia estándar de manejo de errores para aplicaciones de red. Si se la utiliza de forma correcta, la retirada exponencial aumenta la eficiencia del uso del ancho de banda, reduce la cantidad de solicitudes que se requieren para obtener una respuesta correcta y maximiza la capacidad de procesamiento de solicitudes en entornos simultáneos.
Este es el flujo para implementar una retirada exponencial simple.
- Realiza una solicitud a la API
- Recibir una respuesta de error que tenga un código de error que se pueda reintentar
- Espera 1 s +
random_number_millisecondss - Reintentar solicitud
- Recibir una respuesta de error que tenga un código de error que se pueda reintentar
- Espera 2 s +
random_number_millisecondss - Reintentar solicitud
- Recibir una respuesta de error que tenga un código de error que se pueda reintentar
- Espera 4 s +
random_number_millisecondss - Reintentar solicitud
- Recibir una respuesta de error que tenga un código de error que se pueda reintentar
- Espera 8 s +
random_number_millisecondss - Reintentar solicitud
- Recibir una respuesta de error que tenga un código de error que se pueda reintentar
- Espera 16 s +
random_number_millisecondss - Reintentar solicitud
- Si aún recibes un error, detén el proceso y registra el error.
En el flujo anterior, random_number_milliseconds es una cantidad aleatoria de milisegundos menor o igual que 1,000. Esto es necesario para evitar ciertos errores de bloqueo en algunas implementaciones simultáneas.
random_number_milliseconds se debe volver a definir después de cada espera.
Nota: La espera siempre es
(2 ^ n) + random_number_milliseconds, en la que
n es un número entero que aumenta de forma monótona, definido inicialmente
como 0. n se incrementa en 1 para cada iteración (cada solicitud).
El algoritmo está configurado para terminar cuando n sea 5. Este límite se establece solo para evitar que los clientes reintenten las solicitudes de forma infinita y genera una demora total de alrededor de 32 segundos antes de que una solicitud se considere "un error irrecuperable". Tu cliente de API puede implementar una mayor cantidad de intentos si es necesario.
Límites y cuotas de la API
| Categorías de límites de API | Límites |
|---|---|
| Crea usuarios | No puedes crear más de 10 usuarios por dominio por segundo con la API de Directory. |
| Borra usuarios | Puedes borrar hasta 5 usuarios por dominio por segundo con la API de Directory. Este es un límite de servicio de backend por dominio que no se puede ajustar en las cuotas del proyecto de la consola de Google Cloud. Cuando envíes solicitudes por lotes, asegúrate de que el total de operaciones en todos los lotes no supere las 5 consultas por segundo (QPS). |
| Cómo borrar miembros de un grupo | Puedes borrar hasta 30 miembros de un grupo por dominio por segundo con la API de Directory. Este es un límite de servicio de backend por dominio que no se puede ajustar en las cuotas del proyecto de la consola de Google Cloud. Cuando envíes solicitudes por lotes, asegúrate de que el total de operaciones en todos los lotes se mantenga por debajo de las 30 consultas por segundo (QPS). |
| Se agregó el grupo como miembro de otro grupo | Puede haber un retraso de hasta 10 minutos antes de que los miembros del grupo secundario aparezcan como miembros del grupo superior. Este límite podría cambiar según la capacidad del sistema. |
| Dispositivos móviles |
Con la API de Directory, puedes realizar hasta las siguientes acciones:
|
| Cambiar el nombre de los usuarios | Puede tardar hasta 10 minutos en propagarse por todos los servicios. Antes de cambiar el nombre de un usuario, se recomienda que este salga de todas las sesiones y los servicios del navegador. Para obtener más detalles, consulta Actualiza usuarios. |
| Crear o actualizar unidades organizativas |
|
| Categorías de cuotas de la API | Cuotas |
Dispositivos Chrome annotatedLocation, cantidad máxima de caracteres
|
La cantidad máxima de caracteres para la información de ubicación de un dispositivo es de 200. |
Dispositivos Chrome notes, cantidad máxima de caracteres
|
La cantidad máxima de caracteres para la información de las notas de un dispositivo es de 500. |
Dispositivos Chrome, user caracteres como máximo
|
La cantidad máxima de caracteres para el nombre de un usuario de dispositivo es 100. |
| Cantidad máxima de alias de dominio | La cantidad máxima de alias de dominio es 20. |
| Grupos, descripción | La cantidad máxima de caracteres en una descripción es de 4,096. |
| Grupos por cuenta | Con una cuenta de la edición gratuita heredada de G Suite, la cantidad de grupos se limita a 10. Otras ediciones no tienen un límite para la cantidad de grupos. |
| Grupos, miembros por grupo | Con una cuenta de la edición gratuita heredada de G Suite, un grupo puede contener hasta 100 miembros. Otras ediciones no tienen límite para la cantidad de miembros que puede tener un grupo. Para conocer los límites de membresía de grupos por usuario, consulta Información sobre las políticas y los límites de los grupos. |
| cadena de consulta maxResults | La API devuelve lo siguiente:
|
| Varios dominios, cantidad máxima de dominios permitidos en una cuenta | 600 (1 dominio principal y 599 dominios adicionales) |
| Unidad organizativa, cantidad máxima de usuarios que se pueden mover a la vez | Se pueden mover 20 usuarios a la vez. Además, las direcciones de correo electrónico principales de los usuarios ya deben existir en la cuenta. |
| Alias de usuario | La cantidad total de alias permitidos para cada cuenta de usuario es de 30. |
| Alias de usuario, con un alias borrado | Un alias de usuario borrado se puede volver a usar de inmediato. |
| Otros tipos de límites | Limitaciones y lineamientos |
|---|---|
| Facturación y creación de usuarios | En el caso de los usuarios que tengan un plan flexible de Google Workspace, la creación de usuarios con esta API tendrá un impacto monetario y generará cargos en la cuenta de facturación de tu cliente. Por ejemplo, si tienes un plan flexible de Google Workspace, cuando crees 10 usuarios, se aplicarán cargos por 10 licencias de Google Workspace a tu cuenta, prorrateados desde el momento en que se realice la creación. Si tienes un plan anual, ya te comprometiste a pagar por una cantidad determinada de licencias por adelantado y solo puedes crear la cantidad de usuarios que se indica en tu compromiso. Para obtener más información sobre los planes de facturación y tu cuenta de facturación, consulta el Centro de ayuda para administradores. |
| Nombre y apellido | Los nombres y apellidos tienen un máximo de 40 caracteres. Admiten caracteres Unicode/UTF-8 y pueden contener espacios, letras (a-z), números (0-9), guiones (-), barras diagonales (/) y puntos (.). Para obtener más información sobre las reglas de uso de caracteres, consulta el Centro de ayuda para administradores. |
| Grupos, borrando | Si borras un grupo, no se borrarán las cuentas de usuario de sus miembros. |
| Grupos y miembros de grupos, cambio de dirección de correo electrónico | En esta versión de la API, se puede cambiar la dirección de correo electrónico de un grupo antes de que se habilite el servicio de Google Workspace. Usa la Consola del administrador de Google para cambiar la dirección de correo electrónico de un miembro del grupo. Una vez que se cambia, la API refleja automáticamente los cambios en la dirección de correo electrónico. |
| Grupos, configuración | La configuración de acceso a los grupos, las opciones de uso compartido, la supervisión y el archivo de conversaciones se administran con la Consola del administrador de Google. Para obtener más información sobre la configuración de los grupos, consulta el Centro de ayuda para administradores. |
| Grupos, envío de mensajes | Para evitar el spam y el abuso de correo electrónico, Google limita la cantidad de mensajes que puedes enviar a la vez a destinatarios externos. Si envías un mensaje a un grupo, cada miembro externo se cuenta como un destinatario. Para obtener más información, consulta Límites de envío de correos electrónicos y Cómo evitar que los correos electrónicos enviados a usuarios de Gmail se bloqueen o envíen a la carpeta de spam . |
| Grupos, envío de mensajes de NDR | No puedes enviar ni reenviar confirmaciones de entrega fallida (NDR), también llamadas "mensajes de rebote", a un grupo. |
| Limitaciones de los grupos creados por los usuarios | Para conocer los límites de los grupos creados por usuarios, consulta el Centro de ayuda para administradores. |
| Unidad organizativa, activar o desactivar servicios | Usa la Consola del administrador de Google para activar y desactivar servicios en una unidad organizativa. |
| Contraseñas | Puede contener cualquier combinación de caracteres. Se requiere un mínimo de 8 caracteres. La longitud máxima es de 100 caracteres. |
| Fotos | En esta versión de la API, una foto es la foto de perfil de Google más reciente del usuario. |
| Nombres de usuario | Los nombres de usuario pueden contener letras (a-z), números (0-9), guiones (-) y guiones bajos (_). Además, Google Workspace reconoce los puntos (.). Esto no es igual que en Gmail. Un nombre de usuario no puede contener un signo igual (=), corchetes (<,>) ni más de un punto (.) seguido. Para obtener más información, consulta el Centro de ayuda para administradores. |
| Nombres de usuario, cambio de nombre | Google Hangouts descarta todas las invitaciones de chat recordadas después de cambiar el nombre. El usuario debe volver a solicitar permiso para chatear con amigos. El nombre de usuario anterior se conserva como un alias de correo electrónico para garantizar la entrega continua de correos electrónicos en caso de que se haya configurado el reenvío de correos electrónicos, y no estará disponible como un nombre de usuario nuevo. Para obtener detalles importantes sobre el impacto de cambiar el nombre de los usuarios, consulta el Centro de ayuda para administradores. Usa la operación Borra el alias de un usuario para quitar el alias de correo electrónico después de cambiar el nombre. |
| Usuarios en varios dominios | Una cuenta de Google Workspace puede incluir cualquiera de tus dominios. En una cuenta con varios dominios, los usuarios de un dominio pueden compartir servicios con los usuarios de otros dominios de la cuenta. Los componentes de varios dominios son los siguientes:
|
| Advertencias, miembros del grupo | GROUP_CANNOT_CONTAIN_CYCLE: La API no permite un ciclo en las membresías de grupos. Por ejemplo, si el grupo1 es miembro del grupo2, el grupo2 no puede ser miembro del grupo1. |