Zeitüberschreitungen und Fehler

In diesem Dokument wird beschrieben, wie Sie Zeitüberschreitungen festlegen und HTTP-Fehler beheben, die in Ihrem Code auftreten können, wenn Sie die Google API-Clientbibliothek für Java verwenden.

Inhalt

Zeitlimits einrichten

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

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 in einer HTTP-Antwort an eine Google API, die das JSON-Format verwendet, ein Fehlerstatuscode erkannt wird, lösen die generierten Bibliotheken eine GoogleJsonResponseException aus.

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