In the following example, which uses the
Google Analytics API, the setConnectTimeout
and
setReadTimeout
methods are used to set the connect and read timeouts to three
minutes (in milliseconds) for all requests:
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();
When an error status code is detected in an HTTP response to a Google API that
uses the JSON format, the generated libraries throw a
GoogleJsonResponseException
.
The following example shows one way that you can handle these exceptions:
Drive.Files.List listFiles = drive.files.list();
try {
FileList response = listFiles.execute();
...
} catch (GoogleJsonResponseException e) {
System.err.println(e.getDetails());
}