Timeout ed errori
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questo documento descrive come impostare i timeout e gestire gli errori HTTP che il tuo codice
che potrebbe ricevere quando utilizzi la libreria client dell'API di Google per Java.
Sommario
Impostazione dei timeout
Nell'esempio seguente, che utilizza l'API Google Analytics, la proprietà
I metodi setConnectTimeout
e setReadTimeout
vengono utilizzati per impostare i metodi di connessione e
timeout di lettura a tre minuti (in millisecondi) per tutte le richieste:
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();
Gestione delle risposte agli errori HTTP dalle API di Google
Quando viene rilevato un codice di stato di errore in una risposta HTTP a un'API di Google che
utilizza il formato JSON, le librerie generate generano una GoogleJsonResponseException.
Per gli errori viene utilizzato il formato specificato in Risposte di errore.
L'esempio seguente mostra un modo in cui puoi gestire queste eccezioni:
Drive.Files.List listFiles = drive.files.list();
try {
FileList response = listFiles.execute();
...
} catch (GoogleJsonResponseException e) {
System.err.println(e.getDetails());
}
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-26 UTC."],[[["\u003cp\u003eThis guide explains how to configure timeout settings for HTTP requests when using the Google API Client Library for Java, ensuring your application handles potential delays.\u003c/p\u003e\n"],["\u003cp\u003eIt demonstrates how to catch and manage HTTP error responses, specifically \u003ccode\u003eGoogleJsonResponseException\u003c/code\u003e, which occur when interacting with Google APIs.\u003c/p\u003e\n"],["\u003cp\u003eThe content provides code examples for setting connection and read timeouts and illustrates how to handle errors using try-catch blocks with \u003ccode\u003eGoogleJsonResponseException\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Timeouts and Errors\n\nThis document describes how to set timeouts and handle HTTP errors that your code\nmight receive when you use the Google API Client Library for Java.\n\nContents\n--------\n\nSetting timeouts\n----------------\n\nIn the following example, which uses the [Google Analytics API](https://developers.google.com/api-client-library/java/apis/analytics/v3), the\n`setConnectTimeout` and `setReadTimeout` methods are used to set the connect and\nread timeouts to three minutes (in milliseconds) for all requests: \n\n private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitializer) {\n return new HttpRequestInitializer() {\n @Override\n public void initialize(HttpRequest httpRequest) throws IOException {\n requestInitializer.initialize(httpRequest);\n httpRequest.setConnectTimeout(3 * 60000); // 3 minutes connect timeout\n httpRequest.setReadTimeout(3 * 60000); // 3 minutes read timeout\n }\n };\n\n GoogleCredential credential = ....\n\n final Analytics analytics = Analytics.builder(new NetHttpTransport(), jsonFactory, setHttpTimeout(credential)).build();\n\nHandling HTTP error responses from Google APIs\n----------------------------------------------\n\nWhen an error status code is detected in an HTTP response to a Google API that\nuses the JSON format, the generated libraries throw a [GoogleJsonResponseException](https://googleapis.dev/java/google-api-client/latest/com/google/api/client/googleapis/json/GoogleJsonResponseException.html).\n\nThe errors use the format specified in [Error responses](https://cloud.google.com/apis/design/errors).\n\nThe following example shows one way that you can handle these exceptions: \n\n Drive.Files.List listFiles = drive.files.list();\n try {\n FileList response = listFiles.execute();\n ...\n } catch (GoogleJsonResponseException e) {\n System.err.println(e.getDetails());\n }"]]