En este documento, se identifican algunos códigos de error y mensajes que devuelven las APIs de Google. En especial, los errores que se mencionan aquí se encuentran en el dominio global, o predeterminado, de las API de Google. Muchas API también definen sus propios dominios, que identifican errores específicos de la API que no corresponden al dominio global. Para esos errores, el valor de la propiedad domain
en la respuesta de JSON será un valor específico de la API, como youtube.parameter
.
En esta página, se enumeran los errores por código de estado HTTP, como se define en RFC 7231.
La respuesta de JSON de ejemplo que aparece a continuación demuestra cómo se comunica un error global:
{
"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]"
}
}
Errores
- MOVED_PERMANENTLY (301)
- SEE_OTHER (303)
- NOT_MODIFIED (304)
- TEMPORARY_REDIRECT (307)
- BAD_REQUEST (400)
- UNAUTHORIZED (401)
- PAYMENT_REQUIRED (402)
- FORBIDDEN (403)
- NOT_FOUND (404)
- METHOD_NOT_ALLOWED (405)
- CONFLICT (409)
- GONE (410)
- PRECONDITION_FAILED (412)
- REQUEST_ENTITY_TOO_LARGE (413)
- REQUESTED_RANGE_NOT_SATISFIABLE (416)
- EXPECTATION_FAILED (417)
- PRECONDITION_REQUIRED (428)
- TOO_MANY_REQUESTS (429)
- INTERNAL_SERVER_ERROR (500)
- NOT_IMPLEMENTED (501)
- SERVICE_UNAVAILABLE (503)
MOVED_PERMANENTLY (301)
Código de error |
Descripción |
movedPermanently |
Esta solicitud y las solicitudes futuras de la misma operación se deben enviar a la URL especificada en el encabezado Location para esta respuesta, en lugar de la URL a la que se envió. |
SEE_OTHER (303)
Código de error |
Descripción |
seeOther |
Se procesó correctamente la solicitud. Para obtener la respuesta, envía una solicitud GET a la URL especificada en el encabezado Location . |
mediaDownloadRedirect |
Se procesó correctamente la solicitud. Para obtener la respuesta, envía una solicitud GET a la URL especificada en el encabezado Location . |
NOT_MODIFIED (304)
Código de error |
Descripción |
notModified |
No se cumplió la condición establecida para un encabezado "If-None-Match". Esta respuesta indica que no se modificó el documento solicitado y que se debería obtener una respuesta almacenada en caché. Comprueba el valor del encabezado de la solicitud HTTP If-None-Match . |
TEMPORARY_REDIRECT (307)
Código de error |
Descripción |
temporaryRedirect |
Para que se procese tu solicitud, vuelve a enviarla a la URL especificada en el encabezado Location de esta respuesta. |
BAD_REQUEST (400)
Código de error |
Descripción |
badRequest |
La solicitud a la API no es válida o no está formulada correctamente. Por lo tanto, el servidor de la API no la supo interpretar. |
badBinaryDomainRequest |
La solicitud de dominio binario no es válida. |
badContent |
El tipo de contenido de los datos de la solicitud o el de una parte de una solicitud de varias partes no es compatible. |
badLockedDomainRequest |
La solicitud de dominio bloqueado no es válida. |
corsRequestWithXOrigin |
La solicitud CORS contiene un encabezado "XD3 X-Origin", lo cual indica que se trata de una solicitud CORS no válida. |
endpointConstraintMismatch |
La solicitud falló porque no coincidía con la API especificada. Comprueba el valor de la ruta de URL para asegurarte de que sea correcto. |
invalid |
La solicitud falló porque contenía un valor no válido. Se podría tratar de un valor de parámetro, de encabezado o de propiedad. |
invalidAltValue |
El valor del parámetro alt especifica un formato de salida desconocido. |
invalidParameter |
La solicitud falló porque contenía un parámetro o un valor del parámetro no válido. Revisa la documentación de la API para determinar qué parámetros son válidos para tu solicitud. |
invalidQuery |
La solicitud no es válida. Revisa la documentación de la API para determinar qué parámetros son compatibles con la solicitud y comprobar si esta contiene una combinación o un valor del parámetro no válido. Verifica el valor del parámetro de la solicitud q . |
keyExpired |
Venció la clave de API proporcionada en la solicitud, lo que significa que el servidor de la API no puede comprobar el límite de la cuota para la aplicación que hace la solicitud. Para obtener más información o una clave nueva, ve a Google Developers Console. |
keyInvalid |
La clave de API proporcionada en la solicitud no es válida, lo que significa que el servidor de la API no puede comprobar el límite de cuota para la aplicación que hace la solicitud. Ve a Google Developers Console para ver tu clave de API u obtener una nueva. |
lockedDomainCreationFailure |
El token OAuth se recibió en la cadena de consulta. Esta API prohíbe esta acción para formatos de respuesta que no sean JSON o XML. Si es posible, envía el token OAuth en el encabezado "Authorization" como alternativa. |
notDownload |
Solo las solicitudes de descarga multimedia se pueden enviar a rutas de URL /download/* . Vuelve a enviar la solicitud a la misma ruta, pero sin el prefijo /download . |
notUpload |
La solicitud falló porque no es una solicitud de carga y solo las de este tipo se pueden enviar a URI /upload/* . Vuelve a enviarla a la misma ruta, pero sin el prefijo /upload . |
parseError |
El servidor de la API no puede analizar el cuerpo de la solicitud. |
required |
Falta información obligatoria en la solicitud a la API. La información requerida podría ser un parámetro o una propiedad de un recurso. |
tooManyParts |
La solicitud de varias partes falló porque contiene demasiadas partes. |
unknownApi |
No se reconoce la API a la que llama la solicitud. |
unsupportedMediaProtocol |
El cliente está usando un protocolo multimedia no compatible. |
unsupportedOutputFormat |
El valor del parámetro alt especifica un formato de salida que no se admite en este servicio. Comprueba el valor del parámetro de la solicitud alt . |
wrongUrlForUpload |
La solicitud es de carga, pero falló porque no se envió al URI correcto. Las solicitudes de carga se deben enviar a los URI que contengan el prefijo /upload/* . Vuelve a enviar la solicitud a la misma ruta, pero con el prefijo /upload . |
UNAUTHORIZED (401)
Código de error |
Descripción |
unauthorized |
El usuario no tiene autorización para hacer la solicitud. |
authError |
Las credenciales de autorización proporcionadas para la solicitud no son válidas. Comprueba el valor del encabezado de la solicitud HTTP Authorization . |
expired |
La sesión caducó. Comprueba el valor del encabezado de la solicitud HTTP Authorization . |
lockedDomainExpired |
La solicitud falló porque caducó un dominio bloqueado que anteriormente era válido. |
required |
El usuario debe acceder para generar esta solicitud a la API. Comprueba el valor del encabezado de la solicitud HTTP Authorization . |
PAYMENT_REQUIRED (402)
Código de error |
Descripción |
dailyLimitExceeded402 |
Se alcanzó el límite de presupuesto diario establecido por el desarrollador. |
quotaExceeded402 |
La operación solicitada necesita más recursos de los que permite la cuota. Se requiere un pago para completar la operación. |
user402 |
La operación solicitada requiere que el usuario autenticado realice algún tipo de pago. |
FORBIDDEN (403)
Código de error |
Descripción |
forbidden |
La operación solicitada está prohibida y no se puede completar. |
accessNotConfigured |
Tu proyecto no está configurado para acceder a esta API. Usa Google Developers Console a fin de activar la API para tu proyecto. |
accessNotConfigured |
El proyecto se bloqueó debido a un abuso. Consulta http://support.google.com/code/go/developer_compliance. |
accessNotConfigured |
El proyecto se marcó para su eliminación. |
accountDeleted |
Se borró la cuenta de usuario asociada con las credenciales de autorización de la solicitud. Comprueba el valor del encabezado de la solicitud HTTP Authorization . |
accountDisabled |
Se inhabilitó la cuenta de usuario asociada con las credenciales de autorización de la solicitud. Comprueba el valor del encabezado de la solicitud HTTP Authorization . |
accountUnverified |
No se verificó la dirección de correo electrónico del usuario que hace la solicitud. Comprueba el valor del encabezado de la solicitud HTTP Authorization . |
concurrentLimitExceeded |
La solicitud falló porque se alcanzó un límite de uso simultáneo. |
dailyLimitExceeded |
Se alcanzó un límite de cuota diario para la API. |
dailyLimitExceeded |
Se alcanzó el límite de cuota diario y el proyecto se bloqueó debido a un abuso. Consulta el formulario de ayuda de cumplimiento para las API de Google, que te ayudará a resolver el problema. |
dailyLimitExceededUnreg |
La solicitud falló porque se alcanzó un límite diario para la API sin autenticar. El uso continuo de la API requiere el registro mediante Google Developers Console. |
downloadServiceForbidden |
La API no admite un servicio de descarga. |
insufficientAudience |
La solicitud no se puede completar para este público. |
insufficientAuthorizedParty |
La solicitud no se puede completar para esta aplicación. |
insufficientPermissions |
El usuario autenticado no tiene suficientes permisos para ejecutar esta solicitud. |
limitExceeded |
La solicitud no se puede completar debido a límites de acceso o frecuencia. |
lockedDomainForbidden |
Esta API no admite dominios bloqueados. |
quotaExceeded |
La operación solicitada necesita más recursos de los que permite la cuota. |
rateLimitExceeded |
Se enviaron demasiadas solicitudes en un período determinado. |
rateLimitExceededUnreg |
Se superó un límite de frecuencia. Debes registrar tu aplicación para poder seguir llamando a la API. Regístrate mediante Google Developers Console. |
responseTooLarge |
El recurso solicitado es demasiado grande para mostrarse. |
servingLimitExceeded |
Ya se alcanzó el límite de frecuencia general especificado para la API. |
sslRequired |
Se requiere SSL para realizar esta operación. |
unknownAuth |
El servidor de la API no reconoce el esquema de autorización que se usó para la solicitud. Comprueba el valor del encabezado de la solicitud HTTP Authorization . |
userRateLimitExceeded |
La solicitud falló porque se alcanzó un límite de frecuencia por usuario. |
userRateLimitExceededUnreg |
La solicitud falló porque se alcanzó un límite de frecuencia por usuario y no se identificó el desarrollador cliente en la solicitud. Usa Google Developers Console (https://console.developers.google.com) a fin de crear un proyecto para tu aplicación. |
variableTermExpiredDailyExceeded |
La solicitud falló porque venció una cuota de término variable y se alcanzó un límite diario. |
variableTermLimitExceeded |
La solicitud falló porque se alcanzó un límite de cuota de término variable. |
NOT_FOUND (404)
Código de error |
Descripción |
notFound |
La operación solicitada falló porque no se pudo encontrar un recurso asociado con la solicitud. |
notFound |
No se pudo encontrar un recurso asociado con la solicitud. Si no usaste esta API durante las últimas dos semanas, vuelve a implementar la app de App Engine y vuelve a realizar la llamada. |
unsupportedProtocol |
El protocolo que se usó en la solicitud no es compatible. |
METHOD_NOT_ALLOWED (405)
Código de error |
Descripción |
httpMethodNotAllowed |
El método HTTP asociado con la solicitud no es compatible. |
CONFLICT (409)
Código de error |
Descripción |
conflict |
No es posible completar la solicitud a la API porque la operación solicitada entraría en conflicto con un elemento existente. Por ejemplo, una solicitud que intenta crear un elemento duplicado generaría un conflicto, aunque los elementos duplicados suelen identificarse con errores más específicos. |
duplicate |
La operación solicitada falló porque se intentó crear un recurso que ya existe. |
GONE (410)
Código de error |
Descripción |
deleted |
La solicitud falló porque se borró el recurso asociado con ella. |
PRECONDITION_FAILED (412)
Código de error |
Descripción |
conditionNotMet |
No se cumplió la condición establecida en el encabezado de la solicitud HTTP If-Match o If-None-Match . Para obtener información, consulta la sección ETag de la especificación HTTP. Comprueba el valor del encabezado de la solicitud HTTP If-Match . |
REQUEST_ENTITY_TOO_LARGE (413)
Código de error |
Descripción |
backendRequestTooLarge |
La solicitud es demasiado grande. |
batchSizeTooLarge |
La solicitud de lote contiene demasiados elementos. |
uploadTooLarge |
La solicitud falló porque el tamaño de los datos enviados en ella es demasiado grande. |
REQUESTED_RANGE_NOT_SATISFIABLE (416)
Código de error |
Descripción |
requestedRangeNotSatisfiable |
La solicitud especificó un rango que no se puede satisfacer. |
EXPECTATION_FAILED (417)
Código de error |
Descripción |
expectationFailed |
El servidor no puede cumplir con una expectativa del cliente. |
PRECONDITION_REQUIRED (428)
Código de error |
Descripción |
preconditionRequired |
La solicitud requiere una condición previa que no se proporcionó. Para que se procese esta solicitud de forma correcta, debes incluir un encabezado If-Match o If-None-Match con ella. |
TOO_MANY_REQUESTS (429)
Código de error |
Descripción |
rateLimitExceeded |
Se enviaron demasiadas solicitudes en un intervalo determinado. |
INTERNAL_SERVER_ERROR (500)
Código de error |
Descripción |
internalError |
La solicitud falló debido a un error interno. |
NOT_IMPLEMENTED (501)
Código de error |
Descripción |
notImplemented |
No se implementó la operación solicitada. |
unsupportedMethod |
La solicitud falló porque intenta ejecutar un método o una operación desconocidos. |
SERVICE_UNAVAILABLE (503)
Código de error |
Descripción |
backendError |
Se produjo un error de backend. |
backendNotConnected |
La solicitud falló debido a un error de conexión. |
notReady |
El servidor de la API no está listo para aceptar solicitudes. |