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