APIs do Google: erros de domínio global

Este documento identifica alguns dos códigos de erro e mensagens que as APIs do Google retornam. Especificamente, os erros listados aqui estão no domínio global ou padrão das APIs do Google. Muitas APIs também definem os próprios domínios, que identificam erros específicos da API que não estão no domínio global. Para esses erros, o valor da propriedade domain na resposta JSON será um valor específico da API, como youtube.parameter.

Esta página lista os erros pelos códigos de status HTTP deles definidos na RFC 7231 (em inglês).

A amostra de resposta JSON abaixo demonstra como um erro global é comunicado:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalidParameter",
    "message": "Invalid string value: 'asdf'. Allowed values: [mostpopular]",
    "locationType": "parameter",
    "location": "chart"
   }
  ],
  "code": 400,
  "message": "Invalid string value: 'asdf'. Allowed values: [mostpopular]"
 }
}

Erros

  1. MOVED_PERMANENTLY (301)
  2. SEE_OTHER (303)
  3. NOT_MODIFIED (304)
  4. TEMPORARY_REDIRECT (307)
  5. BAD_REQUEST (400)
  6. UNAUTHORIZED (401)
  7. PAYMENT_REQUIRED (402)
  8. FORBIDDEN (403)
  9. NOT_FOUND (404)
  10. METHOD_NOT_ALLOWED (405)
  11. CONFLICT (409)
  12. GONE (410)
  13. PRECONDITION_FAILED (412)
  14. REQUEST_ENTITY_TOO_LARGE (413)
  15. REQUESTED_RANGE_NOT_SATISFIABLE (416)
  16. EXPECTATION_FAILED (417)
  17. PRECONDITION_REQUIRED (428)
  18. TOO_MANY_REQUESTS (429)
  19. INTERNAL_SERVER_ERROR (500)
  20. NOT_IMPLEMENTED (501)
  21. SERVICE_UNAVAILABLE (503)

MOVED_PERMANENTLY (301)

Código do erro Descrição
movedPermanently Esta solicitação, bem como as futuras, para a mesma operação precisam ser enviadas ao URL especificado no cabeçalho Location desta resposta, e não ao URL para onde a solicitação foi enviada.

SEE_OTHER (303)

Código do erro Descrição
seeOther A solicitação foi processada com êxito. Para receber a resposta, envie uma solicitação GET ao URL especificado no cabeçalho Location.
mediaDownloadRedirect A solicitação foi processada com êxito. Para receber a resposta, envie uma solicitação GET ao URL especificado no cabeçalho Location.

NOT_MODIFIED (304)

Código do erro Descrição
notModified A condição definida para um cabeçalho If-None-Match não foi atendida. Essa resposta indica que o documento solicitado não foi modificado e que uma resposta armazenada em cache deve ser recuperada. Verifique o valor do cabeçalho de solicitação HTTP If-None-Match.

TEMPORARY_REDIRECT (307)

Código do erro Descrição
temporaryRedirect Para que sua solicitação seja processada, reenvie-a para o URL especificado no cabeçalho Location desta resposta.

BAD_REQUEST (400)

Código do erro Descrição
badRequest A solicitação à API é inválida ou foi formada incorretamente. Consequentemente, o servidor da API não conseguiu compreender a solicitação.
badBinaryDomainRequest A solicitação de domínio binário é inválida.
badContent O tipo de conteúdo dos dados da solicitação ou o tipo de conteúdo de uma parte de uma solicitação de várias partes não é compatível.
badLockedDomainRequest A solicitação de domínio bloqueado é inválida.
corsRequestWithXOrigin A solicitação CORS contém um cabeçalho XD3 X-Origin, que indica uma solicitação CORS com erro.
endpointConstraintMismatch Ocorreu uma falha na solicitação porque ela não corresponde à API especificada. Verifique o valor do caminho do URL para garantir que ele esteja correto.
invalid Ocorreu uma falha na solicitação porque ela continha um valor inválido. O valor pode ser um valor de parâmetro, de cabeçalho ou de propriedade.
invalidAltValue O valor do parâmetro alt especifica um formato de saída desconhecido.
invalidHeader Ocorreu uma falha na solicitação porque ela continha um cabeçalho inválido.
invalidParameter Ocorreu uma falha na solicitação porque ela continha um parâmetro ou um valor de parâmetro inválido. Consulte a documentação da API para determinar quais parâmetros são válidos para a solicitação.
invalidQuery A solicitação é inválida. Verifique a documentação da API para determinar quais parâmetros são compatíveis com a solicitação e para ver se a solicitação contém uma combinação inválida de parâmetros ou um valor de parâmetro inválido. Verifique o valor do parâmetro de solicitação q.
keyExpired A chave de API fornecida na solicitação expirou. Isso significa que o servidor da API não pode conferir o limite da cota para o aplicativo que está fazendo a solicitação. Confira o Google Developers Console para mais informações ou para receber uma nova chave.
keyInvalid A chave de API fornecida na solicitação é inválida. Isso significa que o servidor de API não pode verificar o limite da cota para o aplicativo que está fazendo a solicitação. Use o Google Developers Console para encontrar a chave de API ou adquirir uma.
lockedDomainCreationFailure O token OAuth foi recebido na string de consulta, o que essa API proíbe para formatos de resposta que não sejam JSON ou XML. Se possível, envie o token OAuth no cabeçalho Authorization.
notDownload Somente solicitações de downloads de mídia podem ser enviadas para caminhos de URL /download/*. Reenvie a solicitação para o mesmo caminho, mas sem o prefixo /download.
notUpload Ocorreu uma falha na solicitação porque ela não é uma solicitação de upload, e somente elas podem ser enviadas a URIs /upload/*. Tente reenviar a solicitação ao mesmo caminho, mas sem o prefixo /upload.
parseError O servidor da API não consegue analisar o corpo da solicitação.
required A solicitação à API não tem as informações necessárias. Essas informações podem ser um parâmetro ou uma propriedade de um recurso.
tooManyParts Ocorreu uma falha na solicitação de várias partes porque ela tem muitos componentes.
unknownApi A API que a solicitação está chamando não é reconhecida.
unsupportedMediaProtocol O cliente está usando um protocolo de mídia incompatível.
unsupportedOutputFormat O valor do parâmetro alt especifica um formato de saída que não é compatível com este serviço. Verifique o valor do parâmetro de solicitação alt.
wrongUrlForUpload Esta é uma solicitação de upload, mas falhou porque não foi enviada para o URI correto. Solicitações de upload precisam ser enviadas para URIs com o prefixo /upload/*. Tente reenviar a solicitação ao mesmo caminho, mas com o prefixo /upload.

UNAUTHORIZED (401)

Código do erro Descrição
unauthorized O usuário não está autorizado a fazer a solicitação.
authError As credenciais de autorização fornecidas para a solicitação são inválidas. Verifique o valor do cabeçalho de solicitação HTTP Authorization.
expired Sessão expirada. Verifique o valor do cabeçalho de solicitação HTTP Authorization.
lockedDomainExpired Ocorreu uma falha na solicitação devido à expiração de um domínio bloqueado que era anteriormente válido.
required O usuário precisa fazer login para fazer essa solicitação de API. Verifique o valor do cabeçalho de solicitação HTTP Authorization.

PAYMENT_REQUIRED (402)

Código do erro Descrição
dailyLimitExceeded402 Foi atingido um limite de orçamento diário definido pelo desenvolvedor.
quotaExceeded402 A operação solicitada requer mais recursos do que o permitido pela cota. É necessário um pagamento para concluir a operação.
user402 A operação solicitada exige algum tipo de pagamento do usuário autenticado.

FORBIDDEN (403)

Código do erro Descrição
forbidden A operação solicitada é proibida e não pode ser concluída.
accessNotConfigured Seu projeto não está configurado para acessar esta API. Use o Google Developers Console para ativar a API no seu projeto.
accessNotConfigured O projeto foi bloqueado por motivo de abuso. Consulte http://support.google.com/code/go/developer_compliance.
accessNotConfigured O projeto foi marcado para exclusão.
accountDeleted A conta de usuário associada às credenciais de autorização da solicitação foi excluída. Verifique o valor do cabeçalho de solicitação HTTP Authorization.
accountDisabled A conta de usuário associada às credenciais de autorização da solicitação foi desativada. Verifique o valor do cabeçalho de solicitação HTTP Authorization.
accountUnverified O endereço de e-mail do usuário que fez a solicitação não foi verificado. Verifique o valor do cabeçalho de solicitação HTTP Authorization.
concurrentLimitExceeded Ocorreu uma falha na solicitação porque um limite de uso simultâneo foi atingido.
dailyLimitExceeded Um limite de cota diária para a API foi atingido.
dailyLimitExceeded O limite de cota diária foi atingido, e o projeto foi bloqueado por motivo de abuso. Consulte o Formulário de suporte de conformidade das APIs do Google para resolver o problema.
dailyLimitExceededUnreg Ocorreu uma falha na solicitação porque um limite diário para uso não autenticado da API foi atingido. A utilização contínua da API requer a inscrição por meio do Google Developers Console.
downloadServiceForbidden A API não é compatível com um serviço de download.
insufficientAudience A solicitação não pode ser concluída para esse público.
insufficientAuthorizedParty A solicitação não pode ser concluída para esse aplicativo.
insufficientPermissions O usuário autenticado não tem permissões suficientes para executar essa solicitação.
limitExceeded A solicitação não pode ser concluída devido a limitações de acesso ou taxa.
lockedDomainForbidden Essa API não é compatível com domínios bloqueados.
quotaExceeded A operação solicitada requer mais recursos do que o permitido pela cota.
rateLimitExceeded Muitas solicitações foram enviadas em um determinado intervalo de tempo.
rateLimitExceededUnreg O limite de taxa foi excedido. Registre seu aplicativo para continuar chamando a API. Inscreva-se usando o Google Developers Console.
responseTooLarge O recurso solicitado é muito grande para ser retornado.
servingLimitExceeded O limite de taxa geral especificado para a API já foi atingido.
sslRequired É necessário SSL para executar essa operação.
unknownAuth O servidor da API não reconhece o esquema de autorização usado para a solicitação. Verifique o valor do cabeçalho de solicitação HTTP Authorization.
userRateLimitExceeded Ocorreu uma falha na solicitação porque um limite de taxa por usuário foi atingido.
userRateLimitExceededUnreg Ocorreu uma falha na solicitação porque um limite de taxa por usuário foi atingido e o desenvolvedor de cliente não foi identificado na solicitação. Use o Google Developer Console (https://console.developers.google.com) e crie um projeto para o aplicativo.
variableTermExpiredDailyExceeded Ocorreu uma falha na solicitação porque uma cota de termo variável expirou e um limite diário foi atingido.
variableTermLimitExceeded Ocorreu uma falha na solicitação porque um limite de cota de termo variável foi atingido.

NOT_FOUND (404)

Código do erro Descrição
notFound Ocorreu uma falha na operação solicitada porque não foi possível encontrar um recurso associado à solicitação.
notFound Não foi possível encontrar um recurso associado à solicitação. Se você não usou esta API nas últimas duas semanas, implante novamente o aplicativo do App Engine e tente chamá-la novamente.
unsupportedProtocol O protocolo usado na solicitação não é compatível.

METHOD_NOT_ALLOWED (405)

Código do erro Descrição
httpMethodNotAllowed O método HTTP associado à solicitação não é compatível.

CONFLICT (409)

Código do erro Descrição
conflict A solicitação à API não pode ser concluída porque a operação solicitada entraria em conflito com um item existente. Por exemplo, uma solicitação que tenta criar um item duplicado criaria um conflito, embora itens duplicados sejam normalmente identificados com erros mais específicos.
duplicate Ocorreu uma falha na operação solicitada porque ela tentou criar um recurso que já existe.

GONE (410)

Código do erro Descrição
deleted Ocorreu uma falha na solicitação porque o recurso associado à solicitação foi excluído.

PRECONDITION_FAILED (412)

Código do erro Descrição
conditionNotMet A condição definida no cabeçalho de solicitação HTTP If-Match ou If-None-Match da solicitação não foi atendida. Consulte a seção ETag (em inglês) da especificação HTTP para ver detalhes. Verifique o valor do cabeçalho de solicitação HTTP If-Match.

REQUEST_ENTITY_TOO_LARGE (413)

Código do erro Descrição
backendRequestTooLarge A solicitação é muito grande.
batchSizeTooLarge A solicitação em lote contém muitos elementos.
uploadTooLarge Ocorreu uma falha na solicitação porque os dados enviados na solicitação são muito grandes.

REQUESTED_RANGE_NOT_SATISFIABLE (416)

Código do erro Descrição
requestedRangeNotSatisfiable A solicitação especificou um intervalo que não pode ser atendido.

EXPECTATION_FAILED (417)

Código do erro Descrição
expectationFailed Uma expectativa do cliente não pode ser atendida pelo servidor.

PRECONDITION_REQUIRED (428)

Código do erro Descrição
preconditionRequired A solicitação requer uma pré-condição que não foi fornecida. Para que essa solicitação seja bem-sucedida, você precisa fornecer um cabeçalho If-Match ou If-None-Match com ela.

TOO_MANY_REQUESTS (429)

Código do erro Descrição
rateLimitExceeded Muitas solicitações foram enviadas em um determinado intervalo de tempo.

INTERNAL_SERVER_ERROR (500)

Código do erro Descrição
internalError Ocorreu uma falha na solicitação devido a um erro interno.

NOT_IMPLEMENTED (501)

Código do erro Descrição
notImplemented A operação solicitada não foi implementada.
unsupportedMethod Ocorreu uma falha na solicitação porque ela está tentando executar uma operação ou um método desconhecido.

SERVICE_UNAVAILABLE (503)

Código do erro Descrição
backendError Ocorreu um erro de back-end.
backendNotConnected Ocorreu uma falha na solicitação devido a um erro de conexão.
notReady O servidor de API não está pronto para aceitar solicitações.