本文档介绍了如何设置超时时间以及如何处理因代码 使用 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()); }