W tym dokumencie opisujemy sposób ustawiania limitów czasu oczekiwania i obsługi błędów HTTP, które występują w kodzie które możesz otrzymać podczas używania biblioteki klienta interfejsu API Google dla języka Java.
Spis treści
Ustawianie limitów czasu
W przykładzie poniżej, który korzysta z interfejsu Google Analytics API, makro Metody setConnectTimeout
i setReadTimeout
służą do ustawiania limity czasu odczytu dla wszystkich żądań do trzech minut (w milisekundach):
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();
Obsługa odpowiedzi na błędy HTTP z interfejsów API Google
Jeśli w odpowiedzi HTTP do interfejsu API Google zostanie wykryty kod stanu błędu, korzysta z formatu JSON, wygenerowane biblioteki zgłaszają GoogleJsonResponseException.
Błędy mają format określony w odpowiedziach na błędy.
Poniższy przykład pokazuje, jak możesz obsłużyć te wyjątki:
Drive.Files.List listFiles = drive.files.list(); try { FileList response = listFiles.execute(); ... } catch (GoogleJsonResponseException e) { System.err.println(e.getDetails()); }