Errores de la API Indexing

En este documento se indican algunos de los códigos y mensajes de error que devuelven las API de Google; concretamente, se incluyen los que se producen en el dominio global (o predeterminado). Muchas API también tienen sus propios dominios, que identifican los errores que son específicos de esas API y no ocurren en el dominio global. Cuando se producen este tipo de errores, en la propiedad domain del documento JSON de respuesta aparece un valor específico de la API en cuestión, como youtube.parameter.

En esta página, los errores se identifican con códigos de estado HTTP, tal como están definidos en RFC 7231.

A continuación se incluye un ejemplo de respuesta JSON que muestra 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

  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 de error Descripción
movedPermanently Tanto la solicitud que ha devuelto este error como las que se hagan a partir de ahora para completar la misma operación tienen que enviarse a la URL que se indica en el encabezado Location de esta respuesta, y no a la URL a la que se envió la solicitud.

SEE_OTHER (303)

Código de error Descripción
seeOther La solicitud se ha procesado correctamente. Para obtener la respuesta, envía una solicitud GET a la URL que se indica en el encabezado Location.
mediaDownloadRedirect La solicitud se ha procesado correctamente. Para obtener la respuesta, envía una solicitud GET a la URL que se indica en el encabezado Location.

NOT_MODIFIED (304)

Código de error Descripción
notModified No se ha cumplido la condición definida en un encabezado If-None-Match. Esta respuesta indica que el documento solicitado no se ha modificado y que debe cargarse una respuesta almacenada en caché. Comprueba el valor del encabezado If-None-Match de la solicitud HTTP.

TEMPORARY_REDIRECT (307)

Código de error Descripción
temporaryRedirect Para que se procese la solicitud, tienes que reenviarla a la URL que se indica 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 su formato no es correcto, por lo que el servidor de la API no la ha podido entender.
badBinaryDomainRequest La solicitud de dominio binario no es válida.
badContent Los datos de la solicitud o una parte de una solicitud con varias partes son de un tipo de contenido que no se admite.
badLockedDomainRequest La solicitud de dominio bloqueado no es válida.
corsRequestWithXOrigin La solicitud CORS incluye un encabezado XD3 X-Origin, por lo que se trata de una solicitud CORS que no es correcta.
endpointConstraintMismatch Se ha producido un error en la solicitud porque no coincide con la API especificada. Comprueba que la ruta de URL sea correcta.
invalid Se ha producido un error en la solicitud porque contenía un valor no válido. Este valor puede ser el de un parámetro, un encabezado o una propiedad.
invalidAltValue El valor del parámetro alt indica un formato de salida desconocido.
invalidHeader Se ha producido un error en la solicitud porque contenía un encabezado no válido.
invalidParameter Se ha producido un error en la solicitud porque contenía un parámetro o un valor de parámetro no válidos. Consulta la documentación de la API para saber qué parámetros pueden incluirse en las solicitudes.
invalidQuery La solicitud no es válida. Consulta la documentación de la API para saber qué parámetros pueden incluirse en la solicitud y determinar si contenía parámetros incompatibles entre ellos o valores de parámetro no válidos. Comprueba el valor del parámetro q de la solicitud.
keyExpired La clave de API que figura en la solicitud está caducada, por lo que el servidor de la API no puede comprobar si la aplicación que ha hecho la solicitud ha alcanzado el límite de cuota. Puedes obtener más información o conseguir otra clave en Google Developers Console.
keyInvalid La clave de API que figura en la solicitud no es válida, por lo que el servidor de la API no puede comprobar si la aplicación que ha hecho la solicitud ha alcanzado el límite de cuota. En Google Developers Console, puedes buscar tu clave de API u obtener una.
lockedDomainCreationFailure El token de OAuth se ha recibido en la cadena de consulta, una práctica que esta API prohíbe en todos los formatos que no sean JSON o XML. Si es posible, prueba a enviar el token de OAuth en el encabezado Authorization.
notDownload A las rutas de URL que incluyen /download/* solo se pueden enviar solicitudes para descargar recursos multimedia. Vuelve a enviar la solicitud a la misma ruta, pero quítale el prefijo /download.
notUpload Se ha producido un error porque no se trata de una solicitud de subida, que son las únicas que se pueden enviar a los URI que incluyen /upload/*. Prueba a enviar de nuevo la solicitud a la misma ruta, pero sin el prefijo /upload.
parseError El servidor de la API no ha podido analizar el cuerpo de la solicitud.
required En la solicitud faltan datos obligatorios, como un parámetro o una propiedad de recurso.
tooManyParts Se ha producido un error en la solicitud porque contiene demasiadas partes.
unknownApi No se reconoce la API a la que llama la solicitud.
unsupportedMediaProtocol El cliente está utilizando un protocolo de recursos multimedia que no se admite.
unsupportedOutputFormat El valor del parámetro alt indica un formato de salida que no es compatible con este servicio. Comprueba el valor del parámetro alt de la solicitud.
wrongUrlForUpload Se trata de una solicitud de subida, pero se ha producido un error porque no se ha enviado al URI adecuado. Este tipo de solicitudes deben enviarse a URIs que incluyan el prefijo /upload/*. Prueba a enviar de nuevo la solicitud a la misma ruta, pero con el prefijo /upload.

UNAUTHORIZED (401)

Código de error Descripción
unauthorized El usuario no está autorizado a hacer la solicitud.
authError Las credenciales de autorización que se han proporcionado en la solicitud no son válidas. Comprueba el valor del encabezado Authorization de la solicitud HTTP.
expired La sesión ha caducado. Comprueba el valor del encabezado Authorization de la solicitud HTTP.
lockedDomainExpired Se ha producido un error en la solicitud porque ha caducado un dominio bloqueado que antes sí era válido.
required El usuario debe iniciar sesión para enviar esta solicitud a la API. Comprueba el valor del encabezado Authorization de la solicitud HTTP.

PAYMENT_REQUIRED (402)

Código de error Descripción
dailyLimitExceeded402 Se ha alcanzado el límite de presupuesto diario definido por el desarrollador.
quotaExceeded402 Para completar la operación solicitada, se necesitan más recursos de los que permite la cuota, por lo que hay que hacer un pago.
user402 Para completar la operación solicitada, el usuario autenticado debe hacer algún tipo de pago.

FORBIDDEN (403)

Código de error Descripción
forbidden La operación que se ha solicitado está prohibida y no se puede completar.
accessNotConfigured Tu proyecto no está configurado para acceder a esta API. Activa la API en tu proyecto con Google Developers Console.
accessNotConfigured El proyecto se ha bloqueado debido a un uso inadecuado. Consulta el recurso http://support.google.com/code/go/developer_compliance.
accessNotConfigured El proyecto se ha marcado para eliminarlo.
accountDeleted Se ha eliminado la cuenta de usuario asociada a las credenciales de autorización de la solicitud. Comprueba el valor del encabezado Authorization de la solicitud HTTP.
accountDisabled Se ha inhabilitado la cuenta de usuario asociada a las credenciales de autorización de la solicitud. Comprueba el valor del encabezado Authorization de la solicitud HTTP.
accountUnverified No se ha verificado la dirección de correo electrónico del usuario que ha hecho la solicitud. Comprueba el valor del encabezado Authorization de la solicitud HTTP.
concurrentLimitExceeded Se ha producido un error en la solicitud porque se ha alcanzado el límite de uso.
dailyLimitExceeded Se ha alcanzado el límite de cuota diaria de la API.
dailyLimitExceeded Se ha alcanzado el límite de cuota diaria y se ha bloqueado el proyecto debido a un uso inadecuado. Para recibir ayuda con el problema, consulta el formulario de asistencia de cumplimiento de las API de Google.
dailyLimitExceededUnreg Se ha producido un error en la solicitud porque se ha alcanzado el límite diario de usos no autenticados de la API. Para seguir utilizándola, hay que registrarse en Google Developers Console.
downloadServiceForbidden La API no admite un servicio de descarga.
insufficientAudience La solicitud no se puede completar para esta audiencia.
insufficientAuthorizedParty La solicitud no se puede completar para esta aplicación.
insufficientPermissions El usuario autenticado no tiene permisos suficientes para ejecutar esta solicitud.
limitExceeded No se puede completar la solicitud debido a límites de acceso o de frecuencia.
lockedDomainForbidden Esta API no admite dominios bloqueados.
quotaExceeded Para completar la operación, se necesitan más recursos de los que permite la cuota.
rateLimitExceeded Se han enviado demasiadas solicitudes en un periodo determinado.
rateLimitExceededUnreg Se ha superado el límite de frecuencia, por lo que debes registrar tu aplicación para seguir llamando a la API. Regístrate en Google Developers Console.
responseTooLarge El recurso solicitado es demasiado grande como para devolverlo.
servingLimitExceeded Ya se ha alcanzado el límite de frecuencia general que se ha especificado en la API.
sslRequired Debe usarse SSL para completar esta operación.
unknownAuth El servidor de la API no reconoce el esquema de autorización que se ha usado en la solicitud. Comprueba el valor del encabezado Authorization de la solicitud HTTP.
userRateLimitExceeded Se ha producido un error en la solicitud porque se ha alcanzado el límite de frecuencia por usuario.
userRateLimitExceededUnreg Se ha producido un error en la solicitud porque se ha alcanzado el límite de frecuencia por usuario y no se ha identificado el desarrollador del cliente en la solicitud. Crea un proyecto para tu aplicación en Google Developers Console (https://developers.google.com/console).
variableTermExpiredDailyExceeded Se ha producido un error en la solicitud porque ha caducado la cuota de periodo variable y se ha alcanzado el límite diario.
variableTermLimitExceeded Se ha producido un error en la solicitud porque se ha alcanzado el límite de la cuota de periodo variable.

NOT_FOUND (404)

Código de error Descripción
notFound No se ha podido completar la operación solicitada porque no se ha podido encontrar un recurso asociado a la solicitud.
notFound No se ha podido encontrar un recurso asociado a la solicitud. Si no has utilizado esta API en las dos últimas semanas, vuelve a implementar la aplicación de App Engine y prueba a llamarla de nuevo.
unsupportedProtocol No se admite el protocolo que se utiliza en la solicitud.

METHOD_NOT_ALLOWED (405)

Código de error Descripción
httpMethodNotAllowed No se admite el método HTTP asociado a la solicitud.

CONFLICT (409)

Código de error Descripción
conflict No se puede completar la solicitud a la API porque la operación que se solicita entraría en conflicto con un elemento. Por ejemplo, se crearía un conflicto si una solicitud intenta duplicar un elemento, aunque este tipo de errores se identifican de un modo más específico.
duplicate No se ha podido completar la operación porque se ha intentado crear un recurso que ya existe.

GONE (410)

Código de error Descripción
deleted Se ha producido un error en la solicitud porque se ha eliminado el recurso asociado a la solicitud.

PRECONDITION_FAILED (412)

Código de error Descripción
conditionNotMet No se ha cumplido la condición definida en el encabezado If-Match o If-None-Match de la solicitud HTTP. Consulta más información en el apartado ETag de la especificación HTTP. Comprueba el valor del encabezado If-Match de la solicitud HTTP.

REQUEST_ENTITY_TOO_LARGE (413)

Código de error Descripción
backendRequestTooLarge La solicitud es demasiado grande.
batchSizeTooLarge La solicitud por lotes contiene demasiados elementos.
uploadTooLarge Se ha producido un error en la solicitud porque los datos que se envían en ella son demasiado grandes.

REQUESTED_RANGE_NOT_SATISFIABLE (416)

Código de error Descripción
requestedRangeNotSatisfiable En la solicitud se indicaba un rango que no se puede satisfacer.

EXPECTATION_FAILED (417)

Código de error Descripción
expectationFailed El servidor no puede satisfacer una expectativa del cliente.

PRECONDITION_REQUIRED (428)

Código de error Descripción
preconditionRequired Para que la solicitud se complete correctamente, debe cumplirse una condición previa que no se satisface. Debes proporcionar un encabezado If-Match o If-None-Match junto con la solicitud.

TOO_MANY_REQUESTS (429)

Código de error Descripción
rateLimitExceeded Se han enviado demasiadas solicitudes en un periodo determinado.

INTERNAL_SERVER_ERROR (500)

Código de error Descripción
internalError No se ha podido completar la solicitud debido a un error interno.

NOT_IMPLEMENTED (501)

Código de error Descripción
notImplemented No se ha implementado la operación solicitada.
unsupportedMethod Se ha producido un error en la solicitud porque está intentando ejecutar un método o una operación desconocidos.

SERVICE_UNAVAILABLE (503)

Código de error Descripción
backendError Se ha producido un error del servidor.
backendNotConnected No se ha podido completar la solicitud debido a un error de conexión.
notReady El servidor de la API no está listo para aceptar solicitudes.

Errores específicos de la API Indexing

Si se devuelve alguno de los errores que se indican a continuación, entonces se ha rechazado la solicitud enviada, por lo que Google no rastreará la URL en cuestión. Ocurre lo mismo si se devuelve alguno de los mensajes de error principales.

BAD_REQUEST (400)

Mensaje de error Descripción
Missing attribute. 'url' attribute is required. El usuario no ha incluido ninguna URL en su solicitud.
Invalid attribute. 'url' is not in standard URL format El usuario ha incluido una URL que no se parece a una URL; por ejemplo, "abcd".
Unknown type. 'type' attribute is required and must be 'URL_REMOVED' or 'URL_UPDATED'. El usuario no ha configurado el tipo de notificación.
Invalid value at 'url_notification.type' (TYPE_ENUM) El usuario no ha asignado los valores URL_REMOVED o URL_UPDATED al tipo de notificación.

FORBIDDEN (403)

Mensaje de error Descripción
Permission denied. Failed to verify the URL ownership. El usuario no ha completado el proceso de verificación de propiedad, o bien está intentando actualizar una URL que no le pertenece.

TOO_MANY_REQUESTS (429)

Mensaje de error Descripción
Insufficient tokens for quota 'indexing.googleapis.com/default_requests' El usuario ha superado su cuota de la API Indexing.