Timeout ed errori

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