В этом документе описывается, как устанавливать таймауты и обрабатывать ошибки HTTP, которые может возникнуть в вашем коде при использовании клиентской библиотеки API Google для Java.
Содержание
Установка таймаутов
В следующем примере, в котором используется API Google Analytics , методы setConnectTimeout
и setReadTimeout
используются для установки таймаутов подключения и чтения на три минуты (в миллисекундах) для всех запросов:
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 от API Google
Когда код состояния ошибки обнаруживается в ответе HTTP на API Google, использующий формат JSON, сгенерированные библиотеки выдают исключение GoogleJsonResponseException .
Ошибки используют формат, указанный в разделе «Ответы об ошибках» .
В следующем примере показан один из способов обработки этих исключений:
Drive.Files.List listFiles = drive.files.list(); try { FileList response = listFiles.execute(); ... } catch (GoogleJsonResponseException e) { System.err.println(e.getDetails()); }