시간 초과 및 오류

이 문서에서는 제한 시간을 설정하고 코드에서 발생하는 HTTP 오류를 처리하는 방법을 설명합니다. 를 수신할 수 있습니다.

목차

제한 시간 설정

Google 애널리틱스 API를 사용하는 다음 예에서 setConnectTimeoutsetReadTimeout 메서드는 연결 및 모든 요청에서 읽기 제한 시간을 3분 (밀리초)으로 설정합니다.

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());
}