시간 초과 및 오류

이 문서에서는 Java용 Google API 클라이언트 라이브러리를 사용할 때 코드에서 수신될 수 있는 시간 제한을 설정하고 HTTP 오류를 처리하는 방법을 설명합니다.

목차

제한 시간 설정

Google Analytics 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 오류 응답 처리

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