Expiration du délai et erreurs

Ce document explique comment définir des délais avant expiration et gérer les erreurs HTTP que votre code peut recevoir lorsque vous utilisez la bibliothèque cliente des API Google pour Java.

Sommaire

Définir les délais avant expiration

Dans l'exemple suivant, qui utilise l'API Google Analytics, les méthodes setConnectTimeout et setReadTimeout permettent de définir les délais d'expiration de connexion et de lecture sur trois minutes (en millisecondes) pour toutes les requêtes:

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();

Gérer les réponses d'erreur HTTP des API Google

Lorsqu'un code d'état d'erreur est détecté dans une réponse HTTP à une API Google qui utilise le format JSON, les bibliothèques générées génèrent une exception GoogleJsonResponseException.

Les erreurs utilisent le format spécifié dans Réponses d'erreur.

L'exemple suivant montre comment gérer ces exceptions:

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