本文档介绍了如何设置超时以及处理在使用 Java 版 Google API 客户端库时您的代码可能收到的 HTTP 错误。
目录
设置超时值
在下面的示例中,我们使用了 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 错误响应
在针对使用 JSON 格式的 Google API 的 HTTP 响应中检测到错误状态代码时,生成的库会抛出 GoogleJsonResponseException。
错误采用错误响应中指定的格式。
以下示例展示了处理这些异常的方法:
Drive.Files.List listFiles = drive.files.list();
try {
FileList response = listFiles.execute();
...
} catch (GoogleJsonResponseException e) {
System.err.println(e.getDetails());
}