Zeitüberschreitungen und Fehler

In diesem Dokument wird beschrieben, wie Sie Zeitlimits festlegen und HTTP-Fehler beheben, die in Ihrem Code möglicherweise erhalten, wenn Sie die Google API-Clientbibliothek für Java verwenden.

Inhalt

Zeitlimits einrichten

Im folgenden Beispiel, in dem die Google Analytics API verwendet wird, verwendet der Parameter Die Methoden setConnectTimeout und setReadTimeout werden verwendet, um die Verbindungs- und Zeitlimits für alle Anfragen auf drei Minuten (in Millisekunden) lesen:

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

HTTP-Fehlerantworten von Google APIs verarbeiten

Wenn ein Fehlerstatuscode in einer HTTP-Antwort an eine Google API erkannt wird, das JSON-Format verwendet, lösen die generierten Bibliotheken eine GoogleJsonResponseException aus.

Für die Fehler gilt das unter Fehlerantworten angegebene Format.

Das folgende Beispiel zeigt eine Möglichkeit, wie diese Ausnahmen verarbeitet werden können:

Drive.Files.List listFiles = drive.files.list();
try {
  FileList response = listFiles.execute();
  ...
} catch (GoogleJsonResponseException e) {
  System.err.println(e.getDetails());
}