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 que vous êtes susceptible de 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, le Les méthodes setConnectTimeout et setReadTimeout permettent de définir la connexion des délais avant expiration de lecture à 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 provenant des API Google

Lorsqu'un code d'état d'erreur est détecté dans une réponse HTTP à une API Google 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 vous 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());
}