Tiempos de espera y errores

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En este documento, se describe cómo establecer tiempos de espera y controlar los errores HTTP que tu código podría recibir cuando usas la biblioteca cliente de la API 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();

Cómo manejar respuestas de error de HTTP de las API 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 utilizan el formato especificado en Respuestas de errores.

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

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