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