A API Google Drive retorna dois níveis de informações de erro:
- Códigos de erro HTTP e mensagens de cabeçalho.
- Um objeto JSON no corpo da resposta com mais detalhes que podem ajudar você determinar como lidar com o erro.
Os aplicativos do Google Drive devem detectar e lidar com todos os erros que possam ser encontrados ao usar a API REST. Este guia fornece instruções sobre como resolver erros específicos da API Drive.
Resumo do Código de status HTTP
Código do erro | Descrição |
---|---|
200 - OK |
A solicitação é bem-sucedida (essa é a resposta padrão para solicitações HTTP bem-sucedidas). |
400 - Bad Request |
Não foi possível atender à solicitação devido a um erro de cliente. |
401 - Unauthorized |
A solicitação contém credenciais inválidas. |
403 - Forbidden |
A solicitação foi recebida e entendida, mas o usuário não tem permissão para executá-la. |
404 - Not Found |
Não foi possível encontrar a página solicitada. |
429 - Too Many Requests |
Excesso de solicitações para a API. |
500, 502, 503, 504 - Server Errors |
Ocorreu um erro inesperado durante o processamento da solicitação. |
Erros 400
Esses erros significam que a solicitação era inaceitável, muitas vezes devido a parâmetro obrigatório.
badRequest
Esse erro pode ocorrer devido a um dos seguintes problemas no seu código:
- Um campo ou parâmetro obrigatório não foi fornecido.
- O valor fornecido ou uma combinação dos campos fornecidos é inválido.
- Você tentou adicionar um pai duplicado a um arquivo do Drive.
- Você tentou adicionar um pai que criaria um ciclo no gráfico de diretório.
O exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, verifique o campo message
e ajuste o código de acordo com ele.
invalidSharingRequest
Esse erro ocorre por vários motivos. Para determinar a causa, avalie o
reason
do JSON retornado. Esse erro ocorre com mais frequência porque:
- O compartilhamento foi concluído, mas o e-mail de notificação não foi entregue corretamente.
- A alteração da Lista de controle de acesso (ACL) não é permitida para este usuário.
O campo message
indica o erro real.
O compartilhamento foi concluído, mas o e-mail de notificação não foi entregue corretamente
O exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, informe ao usuário (compartilhador) que ele não conseguiu compartilhar porque Não foi possível enviar o e-mail de notificação para o endereço de e-mail de destino. A o usuário deve ter certeza de que tem o endereço de e-mail correto e de que pode receber e-mails.
A alteração da ACL não é permitida para este usuário
O exemplo de JSON a seguir é uma representação desse erro:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidSharingRequest",
"message": "Bad Request. User message: \"ACL change not allowed.\""
}
],
"code": 400,
"message": "Bad Request"
}
}
Para corrigir esse erro, verifique a guia de compartilhamento configurações do domínio do Google Workspace a que o arquivo pertence. As configurações podem proíbem o compartilhamento fora do domínio ou o compartilhamento de um drive compartilhado pode não ser permitidos.
Erros 401
Esses erros significam que a solicitação não contém um token de acesso válido.
authError
Esse erro ocorre quando o token de acesso que você está usando expirou ou inválido. Esse erro também pode ser causado pela falta de autorização do escopos solicitados. O exemplo de JSON a seguir é uma representação desse erro:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization",
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
Para corrigir esse erro, atualize o token de acesso usando o token de atualização de longa duração. Se isso falhar, direcione o usuário pelo fluxo do OAuth, conforme descrito em Escolher escopos da API Google Drive.
Erros 403
Esses erros significam que um limite de uso foi excedido ou que o usuário não
os privilégios corretos. Para determinar a causa, avalie o campo reason
do
o JSON retornado.
Saiba mais sobre os limites da API Drive em Limites de uso. Para informações sobre a pasta do Drive consulte Limites de arquivos e pastas.
activeItemCreationLimitExceeded
Um erro activeItemCreationLimitExceeded
ocorre quando o limite do número
de itens criados por conta foi excedido. Cada usuário pode ter até 500
milhões de itens criados por uma conta. Para mais informações, consulte Item do usuário
máximo.
{
"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 corrigir esse erro, siga as etapas abaixo:
Informar ao usuário que o Drive impede a criação de contas mais de 500 milhões de itens.
Se o usuário precisar criar itens nessa mesma conta, instrua-o a excluir permanentemente alguns objetos. Caso contrário, eles podem usar outra conta que já atenda ao requisito.
appNotAuthorizedToFile
Esse erro ocorre quando o app não está na ACL do arquivo. Este erro impede que o usuário abra o arquivo com seu aplicativo. O exemplo de JSON a seguir é uma representação deste erro:
{
"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 corrigir esse erro, faça o seguinte:
- Abrir o seletor do Google Drive e solicite que o usuário abra o arquivo.
- Instrua o usuário a abrir o arquivo usando o menu de contexto Abrir com no Drive. interface do seu app.
- Use o método
files.get
para verifique o campoisAppAuthorized
nafiles
para verificar se criou ou abriu o arquivo.
cannotModifyInheritedTeamDrivePermission
Esse erro ocorre quando um usuário tenta modificar as permissões herdadas de um item em um drive compartilhado. Não é possível remover as permissões herdadas de um item em um drive compartilhado. O exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, um usuário deve ajustar as permissões na rede direta ou indireta
item pai do qual foram herdados. Para mais informações, consulte
Permissão
propagação. Você pode
também recuperam
permissions.permissionDetails
para saber se as permissões neste item do drive compartilhado foram herdadas
ou aplicados diretamente.
dailyLimitExceeded
Esse erro ocorre quando o limite da API para o projeto é atingido. O seguinte A amostra JSON é uma representação deste erro:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceeded",
"message": "Daily Limit Exceeded"
}
],
"code": 403,
"message": "Daily Limit Exceeded"
}
}
Este erro aparece quando o proprietário do aplicativo define um limite de cota o uso de um recurso específico. Para corrigir esse erro, remova os limites de uso de a métrica "Consultas por dia" a cota.
domainPolicy
Esse erro ocorre quando a política do domínio do usuário não permite o acesso ao Dirija pelo app. O exemplo de JSON a seguir é uma representação deste erro:
{
"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 corrigir esse erro, siga as etapas abaixo:
- Informe ao usuário que o domínio não permite que o app acesse arquivos em Google Drive.
- Instrua o usuário a entrar em contato com o administrador do domínio para solicitar acesso para seu app.
fileOwnerNotMemberOfTeamDrive
Esse erro ocorre ao tentar mover um arquivo para um drive compartilhado e o proprietário do arquivo não é um membro. O exemplo de JSON a seguir é uma representação erro:
{
"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 corrigir esse erro, siga as etapas abaixo:
Adicione o participante ao drive compartilhado com
role=owner
. Para mais informações, consulte Compartilhar arquivos, pastas e drives.Adicione o arquivo ao drive compartilhado. Para mais informações, consulte Criar e preencher pastas.
fileWriterTeamDriveMoveInDisabled
Esse erro ocorre quando um administrador do domínio não permite que usuários com
role=writer
para mover itens para um drive compartilhado. O usuário que está tentando mover o
itens têm menos permissões do que o permitido no drive compartilhado de destino. A
o exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, use a mesma conta de usuário administrador nas duas contas e aos drives compartilhados de destino.
insufficientFilePermissions
Esse erro ocorre quando o usuário não tem acesso de gravação a um arquivo e sua está tentando modificar o arquivo. O exemplo de JSON a seguir é um representação desse erro:
{
"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 corrigir esse erro, instrua o usuário a entrar em contato com o proprietário do arquivo e solicitar
acesso para edição. Você também pode verificar os níveis de acesso do usuário nos metadados recuperados pelo
o método files.get
e exibir uma
interface somente leitura quando as permissões estiverem ausentes.
myDriveHierarchyDepthLimitExceeded
Um erro myDriveHierarchyDepthLimitExceeded
ocorre quando o limite do
número de níveis de pastas aninhadas foi excedido. Meu
O Drive não pode conter mais de 100 níveis de pastas aninhadas. Para
Saiba mais em Profundidade de pasta
máximo.
{
"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 corrigir esse erro, siga as etapas abaixo:
- Informe ao usuário que o Drive impede a inserção de pastas mais de 100 níveis de profundidade.
- Se o usuário precisar criar outra pasta aninhada, instrua-o a reorganizar que a pasta pai tenha menos de 100 níveis ou use uma uma pasta pai diferente que já atenda ao requisito.
numChildrenInNonRootLimitExceeded
Esse erro ocorre quando o limite para o número de filhos de uma pasta (pastas, arquivos e atalhos) for excedido. Há um limite de 500.000 itens para pastas, arquivos e atalhos diretamente em uma pasta. Itens aninhados em subpastas não são contabilizados nesse limite de 500.000 itens. Para mais informações sobre Limites de pastas do Drive, consulte Limites de pastas no Google Drive.
O exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, faça o seguinte:
- Informe ao usuário que o Drive impede pastas com mais de 500.000 itens.
- Se o usuário precisar adicionar mais itens à pasta completa, instrua-o a reorganizar a pasta para conter menos de 500.000 itens ou usar uma que já contém menos itens.
rateLimitExceeded
Esse erro ocorre quando o limite de taxa do projeto é atingido. Esse limite varia de acordo com o tipo de solicitação. O exemplo de JSON a seguir é um representação desse erro:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"message": "Rate Limit Exceeded",
"reason": "rateLimitExceeded",
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}
}
Para corrigir esse erro, faça o seguinte:
- Aumentar a cota por usuário no projeto do Google Cloud. Para mais informações, solicitar um aumento de cota.
- Solicitações em lote para agrupar várias chamadas de API em uma solicitação HTTP.
- Use a espera exponencial para repetir a solicitação.
sharingRateLimitExceeded
Esse erro ocorre quando o usuário atinge um limite de compartilhamento e geralmente é vinculado com um limite de e-mails. O exemplo de JSON a seguir é uma representação erro:
{
"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 corrigir esse erro, siga as etapas abaixo:
- Não envie e-mails ao compartilhar grandes quantidades de arquivos.
- Se um usuário estiver fazendo várias solicitações em nome de muitos usuários de uma
do Google Workspace, considere usar uma conta de serviço com acesso
delegação
usando o
quotaUser
parâmetro.
storageQuotaExceeded
Esse erro ocorre quando o usuário atinge o limite de armazenamento. O seguinte A amostra JSON é uma representação deste erro:
{
"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 corrigir esse erro, siga as etapas abaixo:
Analise os limites de armazenamento da sua conta do Drive. Para mais mais informações, consulte Armazenamento do Google Workspace e upload limites de desempenho.
teamDriveFileLimitExceeded
Esse erro ocorre quando um usuário tenta exceder o limite de itens em uma drive compartilhado. Cada pasta no drive compartilhado de um usuário tem um limite de 500.000 itens. incluindo arquivos, pastas e atalhos. Esse limite é baseado na contagem de itens, uso do armazenamento. Veja mais informações em Limites do drive compartilhado no Google Drive.
O exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, reduza o número de itens no drive compartilhado. Drives compartilhados com muitos arquivos pode ser difícil de organizar e pesquisar.
teamDriveHierarchyTooDeep
Um erro teamDriveHierarchyTooDeep
ocorre quando o limite para o número de
Os níveis da pasta aninhada do drive compartilhado foram excedidos. O drive compartilhado de um usuário não pode
contêm mais de 100 níveis de pastas aninhadas. Para mais informações, consulte
Limite de profundidade da pasta.
{
"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 corrigir esse erro, siga as etapas abaixo:
- Informe ao usuário que os drives compartilhados impedem o armazenamento de pastas por mais de 100 níveis de profundidade.
- Se o usuário precisar criar outra pasta aninhada, instrua-o a reorganizar que a pasta pai tenha menos de 100 níveis ou use uma uma pasta pai diferente que já atenda ao requisito.
teamDriveMembershipRequired
Esse erro ocorre quando um usuário tenta acessar um drive compartilhado no qual está não é membro. O exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, faça o seguinte:
Peça para o administrador do drive compartilhado adicionar você com as informações adequadas. permissões para a ação que você deve realizar.
Analise as funções e permissões para saber quem pode acessar e gerenciar drives compartilhados. Outras informações sobre os níveis de acesso também podem ser encontradas em Crie um drive.
teamDrivesFolderMoveInNotSupported
Esse erro ocorre quando um usuário tenta mover uma pasta da pasta Meu Dirija para um drive compartilhado. O exemplo de JSON a seguir é um representação desse erro:
{
"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 corrigir esse erro, faça o seguinte:
Mova os itens individuais da pasta para um drive compartilhado usando o a API Drive. Defina o parâmetro
supportsAllDrives=true
para indicar o suporte ao Meu Drive e aos drives compartilhados.Se você precisar mover a pasta para um drive compartilhado, use o Interface do Drive. Para mais informações, consulte Mover pastas para o compartilhamento percursos como administrador.
teamDrivesParentLimit
Esse erro ocorre quando um usuário tenta adicionar mais de um pai a um item na em um drive compartilhado. O exemplo de JSON a seguir é uma representação desse erro:
{
"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."
}
}
Para corrigir esse erro, use os atalhos do Drive para adicionar vários links a um . Embora um atalho só possa ter um pai, é possível criar um arquivo de atalho copiados para os locais adicionais. Para mais informações, consulte Criar um atalho para um arquivo do Drive.
UrlLeaseLimitExceeded
Esse erro ocorre ao tentar salvar dados de jogos do Google Play por meio do seu para o aplicativo. O exemplo de JSON a seguir é uma representação desse erro:
{
"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 corrigir esse erro, conclua ou cancele todos os uploads de um snapshot antes de criar mais.
userRateLimitExceeded
Esse erro ocorre quando o limite por usuário é atingido. Pode ser um no console do Google Cloud ou no Drive back-end. O exemplo de JSON a seguir é uma representação desse erro:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "userRateLimitExceeded",
"message": "User Rate Limit Exceeded"
}
],
"code": 403,
"message": "User Rate Limit Exceeded"
}
}
Para corrigir esse erro, faça o seguinte:
Aumentar a cota por usuário no projeto do Google Cloud. Para mais informações, solicitar um aumento de cota.
Se um usuário estiver fazendo várias solicitações em nome de muitos usuários de uma do Google Workspace, considere usar uma conta de serviço com acesso delegação usando o
quotaUser
parâmetro.Use a espera exponencial para repetir a solicitação.
Saiba mais sobre os limites da API Drive em Limites de uso.
Erros 404
Esses erros significam que o recurso solicitado não está acessível ou não existe.
notFound
Esse erro ocorre quando o usuário não tem acesso de leitura a um arquivo ou não existe. O exemplo de JSON a seguir é uma representação desse erro:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "File not found {fileId}"
}
],
"code": 404,
"message": "File not found: {fileId}"
}
}
Para corrigir esse erro, siga as etapas abaixo:
- Se o arquivo estiver em um drive compartilhado e você estiver usando o
files.get
, verifique se o O parâmetro de consultasupportsAllDrives
está definido comotrue
. - Informar ao usuário que ele não tem acesso de leitura ao arquivo ou ao arquivo não existe.
- Instrua o usuário a entrar em contato com o proprietário do arquivo e solicite permissão para o .
Erros 429
Esses erros significam que muitas solicitações foram enviadas à API muito rapidamente.
rateLimitExceeded
Esse erro ocorre quando o usuário envia muitas solicitações em um determinado período. O exemplo de JSON a seguir é uma representação desse erro:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 429,
"message": "Rate Limit Exceeded"s
}
}
Para corrigir esse erro, use exponenciais backoff para repetir a solicitação.
Erros 500, 502, 503, 504
Esses erros ocorrem quando ocorre um erro inesperado do servidor durante o processamento da solicitação. Vários problemas podem causar esses erros, incluindo o tempo de uma solicitação sobrepondo-se a outra solicitação ou à solicitação de uma ação não suportada, como tentar atualizar permissões para uma única página no Google Sites em vez de o site inteiro.
Confira a seguir uma lista de erros 5xx:
- 500 Erro de back-end
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
Para corrigir esse erro, use exponenciais backoff para repetir a solicitação.