Este documento descreve como definir tempos limite e lidar com erros HTTP que seu código podem receber quando você usa a biblioteca de cliente de APIs do Google para Java.
Índice
Definir tempos limites
No exemplo a seguir, que usa a API Google Analytics, a
Os métodos setConnectTimeout
e setReadTimeout
são usados para definir os parâmetros de conexão e
tempos limite de leitura de até três minutos (em milissegundos) para todas as solicitações:
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();
Como lidar com respostas de erro HTTP das APIs do Google
Quando um código de status de erro é detectado em uma resposta HTTP para uma API do Google que usar o formato JSON, as bibliotecas geradas geram uma GoogleJsonResponseException.
Os erros usam o formato especificado em Respostas de erro.
O exemplo a seguir mostra uma maneira de lidar com essas exceções:
Drive.Files.List listFiles = drive.files.list();
try {
FileList response = listFiles.execute();
...
} catch (GoogleJsonResponseException e) {
System.err.println(e.getDetails());
}