Tiempos de espera y errores

En este documento, se describe cómo configurar tiempos de espera y controlar los errores de HTTP que tu código recibir cuando uses 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 muestra Los métodos setConnectTimeout y setReadTimeout se usan para configurar las conexiones y Tiempos de espera de lectura de 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();

Manejo de respuestas de error de HTTP de 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 utilizan el formato que se especifica en Respuestas de error.

En el siguiente ejemplo, se muestra una forma en la que puedes manejar estas excepciones:

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