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