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