La API de Google Drive muestra 2 niveles de información de errores:
- Códigos de error y mensajes de HTTP en el encabezado
- Un objeto JSON en el cuerpo de la respuesta con detalles adicionales que pueden ayudarte a determinar cómo manejar el error.
Las apps de Drive deben detectar y manejar todos los errores que pueden ocurrir cuando se usa la API de REST. En esta guía, se proporcionan instrucciones para resolver errores específicos de la API.
Cómo resolver un error 400: Solicitud incorrecta
Este error puede deberse a cualquiera de los siguientes problemas en tu código:
- No se proporcionó un campo o parámetro obligatorio.
- El valor proporcionado o una combinación de los campos proporcionados no es válido.
- Intentaste agregar un elemento superior duplicado a un archivo de Drive.
- Intentaste agregar un elemento superior que crearía un ciclo en el gráfico del directorio.
A continuación, se muestra un ejemplo de representación JSON de este error:
{
"error": {
"code": 400,
"errors": [
{
"domain": "global",
"location": "orderBy",
"locationType": "parameter",
"message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order.",
"reason": "badRequest"
}
],
"message": "Sorting is not supported for queries with fullText terms. Results are always in descending relevance order."
}
}
Para corregir este error, consulta el campo message
y ajusta el código según corresponda.
Resolver un error 400: Solicitud de uso compartido no válida
Este error se puede generar por varios motivos. Para determinar el límite que se superó, evalúa el campo reason
del JSON que se muestra. Por lo general, este error ocurre por los siguientes motivos:
- La función se compartió correctamente, pero el correo electrónico de notificación no se envió correctamente.
- El cambio de la Lista de control de acceso (LCA) no está permitido para este usuario.
El campo message
indica el error real.
Se compartió correctamente, pero no se envió correctamente el correo electrónico de notificación
A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidSharingRequest",
"message": "Bad Request. User message: \"Sorry, the items were successfully shared but emails could not be sent to email@domain.com.\""
}
],
"code": 400,
"message": "Bad Request"
}
}
Para corregir este error, informa al usuario (la persona que compartió el contenido) que no pudo compartirlo, ya que no se pudo enviar el correo electrónico de notificación a la dirección con la que desea compartirlo. El usuario debe asegurarse de que tenga la dirección de correo electrónico correcta y que pueda recibir correos electrónicos.
No se permite el cambio de LCA para este usuario
A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidSharingRequest",
"message": "Bad Request. User message: \"ACL change not allowed.\""
}
],
"code": 400,
"message": "Bad Request"
}
}
Para corregir este error, comprueba la configuración de uso compartido del Google Workspace dominio al que pertenece el archivo. Es posible que la configuración prohíba el uso compartido fuera del dominio o el uso compartido de una unidad compartida.
Cómo resolver un error 401: Credenciales no válidas
Un error 401 indica que el token de acceso que estás usando caducó o no es válido. Este error también se puede deber a la autorización faltante para los alcances solicitados. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization",
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
Para corregir este error, actualiza el token de acceso con el token de actualización de larga duración. Si esto falla, dirige al usuario a través del flujo de OAuth, como se describe en la información de autenticación y autorización específica de la API.
Cómo resolver un error 403
Se produce un error 403 cuando se excede un límite de uso o el usuario no tiene los privilegios correctos. Para determinar el tipo específico de error, evalúa el campo reason
del JSON que se muestra. Este error ocurre en las siguientes situaciones:
- Se superó el límite diario.
- Se excedió el límite de usuarios.
- Se excedió el límite de frecuencia del proyecto.
- Se superó el límite de uso compartido.
- El usuario no le otorgó los derechos de tu app a un archivo.
- El usuario no tiene los permisos necesarios para crear archivos.
- No se puede usar tu app en el dominio del usuario que accedió.
- Se superó la cantidad de elementos de una carpeta.
Para obtener más información sobre los límites de API de Drive, consulta Límites de uso. Para obtener información sobre los límites de las carpetas de Drive, consulta Límites de las carpetas de Google Drive.
Cómo resolver un error 403: Se superó el límite diario
Un error dailyLimitExceeded
indica que se alcanzó el límite de la API de cortesía para tu proyecto. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceeded",
"message": "Daily Limit Exceeded"
}
],
"code": 403,
"message": "Daily Limit Exceeded"
}
}
Este error aparece cuando el propietario de la aplicación estableció un límite de cuota para limitar el uso de un recurso en particular. A fin de corregir este error, quita los límites de uso para la cuota de “Consultas por día”.
Cómo resolver un error 403: Se excedió el límite de frecuencia del usuario
Un error userRateLimitExceeded
indica que se alcanzó el límite por usuario.
Esto puede ser un límite de la Consola de API de Google o un límite del backend de Drive. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "userRateLimitExceeded",
"message": "User Rate Limit Exceeded"
}
],
"code": 403,
"message": "User Rate Limit Exceeded"
}
}
Para corregir este error, prueba alguna de las siguientes opciones:
- Aumentar la cuota por usuario en el proyecto de Google Cloud Para obtener más información, solicita un aumento de la cuota.
- Si un usuario realiza varias solicitudes en nombre de muchos usuarios de una cuenta de Google Workspace , considera una cuenta de servicio con delegación de todo el dominio mediante el parámetro
quotaUser
. - Usa la retirada exponencial para reintentar la solicitud.
Para obtener más información sobre los límites de API de Drive, consulta Límites de uso.
Cómo resolver un error 403: Se superó el límite de frecuencia del proyecto
Un error rateLimitExceeded
indica que se alcanzó el límite de frecuencia del proyecto.
Este límite varía según el tipo de solicitudes. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"message": "Rate Limit Exceeded",
"reason": "rateLimitExceeded",
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}
}
Para corregir este error, prueba alguna de las siguientes opciones:
- Aumentar la cuota por usuario en el proyecto de Google Cloud Para obtener más información, solicita un aumento de la cuota.
- Solicitudes por lotes para realizar menos llamadas a la API.
- Usa la retirada exponencial para reintentar la solicitud.
Cómo resolver un error 403: Se superó el límite de tasa para compartir
Se produce un error sharingRateLimitExceeded
cuando el usuario alcanza el límite de uso compartido. Este error suele estar vinculado con un límite de correo electrónico. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"message": "Rate limit exceeded. User message: \"These item(s) could not be shared because a rate limit was exceeded: filename",
"reason": "sharingRateLimitExceeded",
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}
}
Para corregir este error:
- No envíe correos electrónicos cuando comparta archivos de gran tamaño.
- Si un usuario realiza varias solicitudes en nombre de muchos usuarios de una cuenta de Google Workspace , considera una cuenta de servicio con delegación de todo el dominio mediante el parámetro
quotaUser
.
Soluciona un error 403: se superó la cuota de almacenamiento
Se produce un error storageQuotaExceeded
cuando el usuario alcanza su límite de almacenamiento. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"message": "The user's Drive storage quota has been exceeded.",
"reason": "storageQuotaExceeded",
}
],
"code": 403,
"message": "The user's Drive storage quota has been exceeded."
}
}
Para corregir este error:
Revisa los límites de almacenamiento de tu cuenta de Drive. Para obtener más información, consulta Límites de almacenamiento y carga en Drive.
-
o conseguir más almacenamiento de Google One.
Cómo resolver un error 403: El usuario no le otorgó a la aplicación {appId} {verb} acceso al archivo {fileId}
Se produce un error appNotAuthorizedToFile
cuando tu app no está en la LCA del archivo. Este error impide que el usuario abra el archivo con tu app. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "appNotAuthorizedToFile",
"message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
}
],
"code": 403,
"message": "The user has not granted the app {appId} {verb} access to the file {fileId}."
}
}
Para corregir este error, prueba alguna de las siguientes opciones:
- Abre el selector de Google Drive y pídele al usuario que abra el archivo.
- Indica al usuario que abra el archivo con el menú contextual Abrir con en la IU de Drive de la app.
También puedes verificar el campo isAppAuthorized
de un archivo para verificar que la app lo haya creado o abierto.
Cómo resolver un error 403: el usuario no tiene los permisos suficientes para el archivo {fileId}
Se produce un error insufficientFilePermissions
cuando el usuario no tiene acceso de escritura a un archivo y tu app intenta modificarlo. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "insufficientFilePermissions",
"message": "The user does not have sufficient permissions for file {fileId}."
}
],
"code": 403,
"message": "The user does not have sufficient permissions for file {fileId}."
}
}
Para corregir este error, indícale al usuario que se comunique con el propietario del archivo y solicite acceso de edición. También puedes verificar los niveles de acceso del usuario en los metadatos que recupera files.get
y mostrar una IU de solo lectura cuando falten permisos.
Resolver un error 403: La aplicación con el ID {appId} no se puede utilizar dentro del dominio del usuario autenticado
Se produce un error domainPolicy
cuando la política del dominio del usuario no permite que tu app acceda a Drive. A continuación, se muestra la representación JSON de este error:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "domainPolicy",
"message": "The domain administrators have disabled Drive apps."
}
],
"code": 403,
"message": "The domain administrators have disabled Drive apps."
}
}
Para corregir este error:
- Infórmale al usuario que el dominio no permite que tu app acceda a archivos de Drive.
- Indica al usuario que se comunique con el administrador del dominio para solicitar acceso a tu app.
Resolver un error 403: Se superó la cantidad de elementos de la carpeta
Se produce un error numChildrenInNonRootLimitExceeded
cuando se excede el límite de la cantidad de elementos secundarios (carpetas, archivos y accesos directos) de una carpeta. Hay un límite de 500,000 elementos para las carpetas, los archivos y los accesos directos directamente en una carpeta. Los elementos anidados en las subcarpetas no se descuentan de este límite de 500,000 elementos. Para obtener más información sobre los límites de las carpetas de Drive, consulta Límites de las carpetas de Google Drive.
Resolver un error 403: se superó el número de elementos creados por la cuenta.
Se produce un error activeItemCreationLimitExceeded
cuando se supera el límite para la cantidad de elementos creados en esta cuenta, ya sean enviados a la papelera o no. Todos los tipos de elementos, incluidas las carpetas, se tienen en cuenta para el límite.
Cómo resolver un error 404: No se encontró el archivo: {fileId}
El error notFound
se produce cuando el usuario no tiene acceso de lectura a un archivo o este no existe.
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "File not found {fileId}"
}
],
"code": 404,
"message": "File not found: {fileId}"
}
}
Para corregir este error:
- Informa al usuario que no tiene acceso de lectura al archivo o que este no existe.
- Indica al usuario que se comunique con el propietario del archivo y solicite permiso para acceder a él.
Resolver un error 429: Demasiadas solicitudes
Se produce un error rateLimitExceeded
cuando el usuario envía demasiadas solicitudes en un período determinado.
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 429,
"message": "Rate Limit Exceeded"
}
}
A fin de corregir este error, usa la retirada exponencial para reintentar la solicitud.
Cómo resolver un error 5xx
Se produce un error 5xx cuando surge un error inesperado mientras se procesa la solicitud. Esto se puede deber a varios problemas, incluidos los tiempos de una solicitud superpuestos con otra o una solicitud de una acción no admitida, como el intento de actualizar los permisos de una sola página en un sitio de Google en lugar del sitio en sí.
A fin de corregir este error, usa la retirada exponencial para reintentar la solicitud. A continuación, se muestra una lista de errores 5xx:
- Error de backend 500
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout