Tiempos de espera y errores

En este documento, se describe cómo establecer tiempos de espera y manejar errores de HTTP que tu código podría recibir cuando usas la biblioteca cliente de las APIs de Google para Java.

Contenido

Establece tiempos de espera

En el siguiente ejemplo, que usa la API de Google Analytics, se usan los métodos setConnectTimeout y setReadTimeout para establecer los tiempos de espera de conexión y lectura en tres minutos (en milisegundos) para todas las solicitudes:

private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitializer) {
  return new HttpRequestInitializer() {
    @Override
    public void initialize(HttpRequest httpRequest) throws IOException {
      requestInitializer.initialize(httpRequest);
      httpRequest.setConnectTimeout(3 * 60000);  // 3 minutes connect timeout
      httpRequest.setReadTimeout(3 * 60000);  // 3 minutes read timeout
    }
  };

GoogleCredential credential = ....

final Analytics analytics = Analytics.builder(new NetHttpTransport(), jsonFactory, setHttpTimeout(credential)).build();

Maneja las respuestas de error de HTTP desde las APIs de Google

Cuando se detecta un código de estado de error en una respuesta HTTP a una API de Google que usa el formato JSON, las bibliotecas generadas arrojan una GoogleJsonResponseException.

Los errores usan el formato especificado en Respuestas de error.

En el siguiente ejemplo, se muestra una manera de manejar estas excepciones:

Drive.Files.List listFiles = drive.files.list();
try {
  FileList response = listFiles.execute();
  ...
} catch (GoogleJsonResponseException e) {
  System.err.println(e.getDetails());
}