本文件說明如何設定逾時,以及處理程式碼發生的 HTTP 錯誤 使用適用於 Java 的 Google API 用戶端程式庫時,可能會收到的訊息。
目錄
設定逾時
以下範例使用 Google Analytics API, 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();
處理來自 Google API 的 HTTP 錯誤回應
在對 Google API 發出的 HTTP 回應中偵測到錯誤狀態碼時 使用 JSON 格式,產生的程式庫會擲回 GoogleJsonResponseException。
錯誤會使用錯誤回應中指定的格式。
以下範例說明處理這些例外狀況的方法:
Drive.Files.List listFiles = drive.files.list(); try { FileList response = listFiles.execute(); ... } catch (GoogleJsonResponseException e) { System.err.println(e.getDetails()); }