Resuelve los errores

La API de Google Drive devuelve dos niveles de información sobre el error:

  • Códigos de error de HTTP y mensajes de encabezado
  • Un objeto JSON en el cuerpo de la respuesta con detalles adicionales que pueden ayudarte determinar cómo manejar el error.

Las apps para Google Drive deben detectar y manejar todos los errores que se puedan encontrar. cuando uses la API de REST. En esta guía, se proporcionan instrucciones para resolver errores específicos de la API de Drive.

Resumen del código de estado HTTP

Código de error Descripción
200 - OK La solicitud se realizó correctamente (esta es la respuesta estándar para solicitudes HTTP exitosas).
400 - Bad Request No se puede completar la solicitud debido a un error del cliente en ella.
401 - Unauthorized La solicitud contiene credenciales no válidas.
403 - Forbidden Se recibió y se entendió la solicitud, pero el usuario no tiene permiso para realizarla.
404 - Not Found No se pudo encontrar la página solicitada.
429 - Too Many Requests Demasiadas solicitudes a la API.
500, 502, 503, 504 - Server Errors Se produce un error inesperado mientras se procesa la solicitud.

Errores 400

Estos errores significan que la solicitud no fue aceptable, a menudo debido a la falta obligatorio.

badRequest

Este error puede producirse por 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.

El siguiente ejemplo de JSON es una representación 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, revisa el campo message y ajusta el código según corresponda.

invalidSharingRequest

Este error ocurre por varios motivos. Para determinar la causa, evalúa el Campo reason del JSON que se muestra. Este error suele ocurrir por los siguientes motivos:

  • El uso compartido se realizó correctamente, pero la notificación por correo electrónico no se entregó correctamente.
  • No se permite el cambio de la Lista de control de acceso (LCA) para este usuario.

El campo message indica el error real.

El contenido se compartió correctamente, pero la notificación por correo electrónico no se entregó correctamente

El siguiente ejemplo de JSON es una representación 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 (quien lo compartió) que no pudo compartir el contenido porque No se pudo enviar la notificación por correo electrónico a la dirección de correo electrónico de destino. El el usuario debe asegurarse de que tiene la dirección de correo electrónico correcta y que puede para recibir correos electrónicos.

El cambio de LCA no está permitido para este usuario

El siguiente ejemplo de JSON es una representación 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, consulta el uso compartido Configuración del dominio de Google Workspace al que pertenece el archivo. Es posible que la configuración prohibir el uso compartido fuera del dominio o compartir una unidad compartida podrían no permitidos.

Errores 401

Estos errores significan que la solicitud no contiene un token de acceso válido.

authError

Este error se produce cuando el token de acceso que estás utilizando ha caducado o no válido. Este error también puede deberse a la falta de autorización para el los permisos solicitados. El siguiente ejemplo de JSON es una representación 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 Elige Permisos de la API de Google Drive

Errores 403

Estos errores significan que se superó un límite de uso o que el usuario no tiene los privilegios correctos. Para determinar la causa, evalúa el campo reason de el JSON que se muestra.

Para obtener información sobre los límites de la API de Drive, consulta Límites de uso. Para obtener información sobre las carpetas de Drive consulta Límites de archivos y carpetas.

activeItemCreationLimitExceeded

Se produce un error activeItemCreationLimitExceeded cuando el límite para la cantidad se superó la cantidad total de elementos creados por cuenta. Cada usuario puede tener hasta 500 millones de elementos creados por una cuenta. Para obtener más información, consulta Elemento de usuario límite.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "activeItemCreationLimitExceeded",
    "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
   }
  ],
  "code": 403,
  "message": "This account has exceeded the creation limit of 500 million items. To create more items, permanently delete some items."
 }
}

Para corregir este error:

  1. Informar al usuario que Drive impide que se creen cuentas con más de 500 millones de artículos.

  2. Si el usuario debe crear elementos en esta misma cuenta, indícale que borrar permanentemente algunos objetos. De lo contrario, puede usar otra cuenta que ya cumple con el requisito.

appNotAuthorizedToFile

Este error ocurre cuando tu aplicación no está en la LCA del archivo. Este error impide que el usuario abra el archivo con tu app. La siguiente muestra de JSON es una representación 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:

  • Abrir el selector de Google Drive y le pides al usuario que abra el archivo.
  • Indícale al usuario que abra el archivo usando el menú contextual Abrir con en Drive. IU de tu app.
  • Usa el método files.get para revisa el campo isAppAuthorized de la files para verificar que tu creó o abrió el archivo.

cannotModifyInheritedTeamDrivePermission

Este error se produce cuando un usuario intenta modificar los permisos heredados de un elemento en una unidad compartida. No se pueden quitar los permisos heredados de un elemento en una unidad compartida. El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "cannotModifyInheritedTeamDrivePermission",
        "message": "Cannot update or delete an inherited permission on a shared drive item."
      }
    ],
    "code": 403,
    "message": "Cannot update or delete an inherited permission on a shared drive item."
  }
}

Para corregir este error, el usuario debe ajustar los permisos, ya sea de forma directa o indirecta, elemento superior del que se heredaron. Para obtener más información, consulta Permiso propagación. Puedes También puedes obtener el permissions.permissionDetails recurso para ver si los permisos de este elemento de la unidad compartida se heredan o aplicar directamente.

dailyLimitExceeded

Este error se produce cuando se alcanza el límite de API para tu proyecto. Lo siguiente La muestra de JSON es una representación 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 de uso de un recurso en particular. Para corregir este error, quita los límites de uso para la sección "Consultas por día" cuota.

domainPolicy

Este error ocurre cuando la política del dominio del usuario no permite el acceso a Conduce por tu app. El siguiente ejemplo de JSON es una representación 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:

  1. Informa al usuario que el dominio no permite que tu app acceda a los archivos de Drive
  2. Indica al usuario que se comunique con el administrador de dominio para solicitar acceso para lo siguiente: tu app.

fileOwnerNotMemberOfTeamDrive

Este error ocurre cuando intentas mover un archivo a una unidad compartida y la el propietario del archivo no es miembro. El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileOwnerNotMemberOfTeamDrive",
        "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
      }
    ],
    "code": 403,
    "message": "Cannot move a file into a shared drive as a writer when the owner of the file is not a member of that shared drive."
  }
}

Para corregir este error:

  1. Agrega al miembro a la unidad compartida con role=owner. Para obtener más información, consulta Compartir archivos, carpetas y unidades.

  2. Agrega el archivo a la unidad compartida. Para obtener más información, consulta Crear y propagar carpetas.

fileWriterTeamDriveMoveInDisabled

Este error se produce cuando un administrador de dominio no ha permitido usuarios con role=writer para mover elementos a una unidad compartida. El usuario que intenta mover el los elementos tienen menos permisos de los permitidos en la unidad compartida de destino. El El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "fileWriterTeamDriveMoveInDisabled",
        "message": "The domain administrator has not allowed writers to move items into a shared drive."
      }
    ],
    "code": 403,
    "message": "The domain administrator has not allowed writers to move items into a shared drive."
  }
}

Para corregir este error, usa la misma cuenta de usuario de administrador en ambas fuentes. y las unidades compartidas de destino.

insufficientFilePermissions

Este error ocurre cuando el usuario no tiene acceso de escritura a un archivo y tu la app intenta modificar el archivo. El siguiente ejemplo de JSON es un representación 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 lo solicite. acceso de edición. También puedes verificar los niveles de acceso de los usuarios en los metadatos recuperados por el método files.get y muestra un IU de solo lectura cuando faltan permisos.

myDriveHierarchyDepthLimitExceeded

Se produce un error myDriveHierarchyDepthLimitExceeded cuando el límite de la se superó la cantidad de niveles de carpetas anidadas. La vista My de un usuario Drive no puede contener más de 100 niveles de carpetas anidadas. Para para obtener más información, consulta Profundidad de las carpetas límite.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "myDriveHierarchyDepthLimitExceeded",
    "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/drive/api/guides/handle-errors#nested-folder-levels."
   }
  ],
  "code": 403,
  "message": "Your My Drive can't contain more than 100 levels of folders. For details, see https://developers.google.com/drive/api/guides/handle-errors#nested-folder-levels."
 }
}

Para corregir este error:

  1. Informar al usuario que Drive impide colocar carpetas más de Tiene 100 niveles de profundidad.
  2. Si el usuario debe crear otra carpeta anidada, pídele que la reorganice. que la carpeta superior prevista tenga menos de 100 niveles de profundidad o use un en otra carpeta superior que ya cumpla con el requisito.

numChildrenInNonRootLimitExceeded

Este error ocurre cuando se limita el número de carpetas secundarias (carpetas, archivos y accesos directos). Existe un límite de 500,000 artículos para carpetas, archivos y accesos directos directamente en una carpeta. Elementos anidados en subcarpetas no se descuenten de este límite de 500,000 artículos. Para obtener más información sobre los límites de carpetas de Drive, consulta Límites de carpetas en Google Drive

El siguiente ejemplo de JSON es una representación de este error:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "numChildrenInNonRootLimitExceeded",
    "message": "The limit for this folder's number of children (files and folders) has been exceeded."
   }
  ],
  "code": 403,
  "message": "The limit for this folder's number of children (files and folders) has been exceeded."
 }
}

Para corregir este error, prueba alguna de las siguientes opciones:

  • Informar al usuario que Drive evita carpetas con más de 500,000 elementos.
  • Si el usuario debe agregar más elementos a la carpeta completa, indícale que reorganizar la carpeta para que contenga menos de 500,000 elementos o utilizar una carpeta que ya contiene menos elementos.

rateLimitExceeded

Este error ocurre cuando se alcanza el límite de frecuencia del proyecto. Este límite varía según el tipo de solicitud. El siguiente ejemplo de JSON es un representación 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:

sharingRateLimitExceeded

Este error ocurre cuando el usuario alcanza el límite de uso compartido y suele estar vinculado con un límite de correo electrónico. El siguiente ejemplo de JSON es una representación 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:

  1. No envíes correos electrónicos cuando compartas grandes cantidades de archivos.
  2. Si un usuario realiza numerosas solicitudes en nombre de muchos usuarios de una de Google Workspace, considera una cuenta de servicio con acceso delegación usando la función quotaUser predeterminado.

storageQuotaExceeded

Este error se produce cuando el usuario alcanza su límite de almacenamiento. Lo siguiente La muestra de JSON es una representación 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:

  1. Revisa los límites de almacenamiento de tu cuenta de Drive. Para ver más consulta Almacenamiento y carga de Google Workspace límites.

  2. Administra archivos en tu unidad de Google Drive almacenamiento.

  3. Comprar más productos de Google almacenamiento.

teamDriveFileLimitExceeded

Este error ocurre cuando un usuario intenta superar el límite estricto de elementos en un unidad compartida. Cada carpeta de la unidad compartida de un usuario tiene un límite de 500,000 elementos. incluidos archivos, carpetas y accesos directos. Este límite se basa en la cantidad de elementos, no el uso del almacenamiento. Para obtener más información, consulta Límites de unidades compartidas en Google Drive

El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveFileLimitExceeded",
        "message": "The file limit for this shared drive has been exceeded."
      }
    ],
    "code": 403,
    "message": "The file limit for this shared drive has been exceeded."
  }
}

Para corregir este error, reduce la cantidad de elementos en la unidad compartida. Unidades compartidas con demasiados archivos podría ser difícil de organizar y buscar.

teamDriveHierarchyTooDeep

Un error teamDriveHierarchyTooDeep se produce cuando el límite de la cantidad de Se excedieron los niveles de carpetas anidadas de la unidad compartida. La unidad compartida de un usuario no puede contienen más de 100 niveles de carpetas anidadas. Para obtener más información, consulta Límite de profundidad de la carpeta.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "teamDriveHierarchyTooDeep",
    "message": "The shared drive hierarchy depth will exceed the limit."
   }
  ],
  "code": 403,
  "message": "The shared drive hierarchy depth will exceed the limit."
 }
}

Para corregir este error:

  1. Informa al usuario que las unidades compartidas evitan que se ubiquen carpetas en lugar de Tiene 100 niveles de profundidad.
  2. Si el usuario debe crear otra carpeta anidada, pídele que la reorganice. que la carpeta superior prevista tenga menos de 100 niveles de profundidad o use un en otra carpeta superior que ya cumpla con el requisito.

teamDriveMembershipRequired

Este error ocurre cuando un usuario intenta acceder a una unidad compartida en la que está no es miembro. El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDriveMembershipRequired",
        "message": "The attempted action requires shared drive membership."
      }
    ],
    "code": 403,
    "message": "The attempted action requires shared drive membership."
  }
}

Para corregir este error, prueba alguna de las siguientes opciones:

  1. Pídele al administrador de la unidad compartida que te agregue permisos para la acción que debes realizar.

  2. Revisa los roles y los roles de Drive permisos para saber quién puede acceder y administrar unidades compartidas. También puedes encontrar información adicional sobre los niveles de acceso en Crea un video compartido unidad.

teamDrivesFolderMoveInNotSupported

Este error ocurre cuando un usuario intenta mover una carpeta de Mi Conduce a una unidad compartida. El siguiente ejemplo de JSON es un representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesFolderMoveInNotSupported",
        "message": "Moving folders into shared drives is not supported."
      }
    ],
    "code": 403,
    "message": "Moving folders into shared drives is not supported."
  }
}

Para corregir este error, prueba alguna de las siguientes opciones:

  • Mover los elementos individuales de la carpeta a una unidad compartida con el API de Drive Establece el parámetro supportsAllDrives=true para denotar el compatibilidad con Mi unidad y unidades compartidas.

  • Si debes mover la carpeta a una unidad compartida, usa el IU de Drive Para obtener más información, consulta Cómo mover carpetas a archivos compartidos unidades como administrador.

teamDrivesParentLimit

Este error ocurre cuando un usuario intenta agregar más de un elemento superior a un elemento en una unidad compartida. El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "teamDrivesParentLimit",
        "message": "A shared drive item must have exactly one parent."
      }
    ],
    "code": 403,
    "message": "A shared drive item must have exactly one parent."
  }
}

Si quieres corregir este error, usa los accesos directos de Drive para agregar varios vínculos a un . Aunque un acceso directo solo puede tener un superior, un archivo de acceso directo puede ser se copiaron en las ubicaciones adicionales. Para obtener más información, consulta Crea un acceso directo a un archivo de Drive.

UrlLeaseLimitExceeded

Este error se produce al intentar guardar datos de juego de Google Play a través de tu y mantener la integridad de su aplicación. El siguiente ejemplo de JSON es una representación de este error:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "UrlLeaseLimitExceeded",
    "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
   }
  ],
  "code": 403,
  "message": "Too many pending uploads for this snapshot. Please finish or cancel some before creating more."
 }
}

Para corregir este error, completa o cancela las cargas de una instantánea antes de crearla más.

userRateLimitExceeded

Este error ocurre cuando se alcanza el límite por usuario. Podría ser un límite desde la consola de Google Cloud o desde la consola backend. El siguiente ejemplo de JSON es una representación 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:

Para obtener información sobre los límites de la API de Drive, consulta Límites de uso.

Errores 404

Estos errores significan que no se puede acceder al recurso solicitado o que no existe.

notFound

Este error ocurre cuando el usuario no tiene acceso de lectura a un archivo o no existe. El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "notFound",
        "message": "File not found {fileId}"
      }
    ],
    "code": 404,
    "message": "File not found: {fileId}"
  }
}

Para corregir este error:

  1. Si el archivo se encuentra en una unidad compartida y usas el files.get, asegúrate de que El parámetro de consulta supportsAllDrives se estableció en true.
  2. Informa al usuario que no tiene acceso de lectura al archivo o al archivo no existe.
  3. Solicítale al usuario que se comunique con el propietario del archivo y solicite permiso .

Errores 429

Estos errores indican que se enviaron demasiadas solicitudes a la API demasiado rápido.

rateLimitExceeded

Este error se produce cuando el usuario ha enviado demasiadas solicitudes en una de tiempo. El siguiente ejemplo de JSON es una representación de este error:

{
  "error": {
    "errors": [
      {
        "domain": "usageLimits",
        "reason": "rateLimitExceeded",
        "message": "Rate Limit Exceeded"
      }
    ],
    "code": 429,
    "message": "Rate Limit Exceeded"s
  }
}

Para corregir este error, usa exponencial, retirada para reintentar la solicitud.

Errores 500, 502, 503 y 504

Estos errores ocurren cuando surge un error inesperado de servidor mientras se procesa el para cada solicitud. Varios problemas pueden causar estos errores, incluida la duración de la solicitud. se superpone con otra solicitud o con una solicitud de una acción no admitida, como actualizar los permisos de una sola página en Google Sites en lugar de todo el sitio.

La siguiente es una lista de errores 5xx:

  • Error de backend 500
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout

Para corregir este error, usa exponencial, retirada para reintentar la solicitud.