다양한 디스플레이 및 Video 360 API 메서드는 몇 초 정도 걸릴 수 있습니다 이러한 메서드에 대한 요청은 API 또는 클라이언트 측에서 오류가 발생할 수 있습니다. 이 페이지에는 요청 지연 시간 연장으로 인해 발생하는 문제를 처리하는 방법을 설명합니다.
클라이언트 라이브러리에서 기본 제한 시간 늘리기
몇 가지 특정 메서드는 참조 문서에 라벨이 지정되어 있습니다. 발생하는 경우가 많기 때문입니다 다른 방법으로도 주기적으로 점검합니다.
일부 클라이언트 라이브러리의 기본 제한 시간 제한으로 인해 다음과 같은 경우 오류가 발생할 수 있습니다. 높은 지연 시간이 있는 요청을 실행할 수 있습니다 지원되는 클라이언트의 하위 집합에 대한 기본 제한 시간 라이브러리는 다음과 같습니다.
- 자바: 20초
- Python: 60초
- PHP: 60초
클라이언트 측 제한 시간을 방지하려면 이러한 기본 제한 시간을 늘리면 됩니다. 팔로우 다음 지침을 따라 클라이언트 라이브러리의 기본 제한 시간을 조정하십시오. 런타임:
자바
필요한 리소스를 가져옵니다.
import com.google.api.client.http.HttpRequest; import com.google.api.client.http.HttpRequestInitializer; import java.io.IOException;
HTTP 제한 시간을 설정하는 함수를 빌드합니다.
/** * Adjusts HTTP timeout values used by the provided request initializer. * * @param requestInitializer The {@link HttpRequestInitializer} used to authorize requests. * @param newHttpTimeout The HTTP timeout for requests in seconds. * @return An {@link HttpRequestInitializer} with modified HTTP timeout values. */ private static HttpRequestInitializer setHttpTimeout( final HttpRequestInitializer requestInitializer, final int newHttpTimeout) { return new HttpRequestInitializer() { @Override public void initialize(HttpRequest httpRequest) throws IOException { requestInitializer.initialize(httpRequest); httpRequest.setConnectTimeout(newHttpTimeout * 1_000); httpRequest.setReadTimeout(newHttpTimeout * 1_000); } }; }
Display &Video 360 생성 시 함수 호출 Video 360 API 클라이언트
// Create authorized API client with non-default timeouts. DisplayVideo service = new DisplayVideo.Builder( credential.getTransport(), credential.getJsonFactory(), setHttpTimeout(credential, http-timeout-in-seconds) ) .setApplicationName("displayvideo-java-installed-app-sample") .build();
Python
Google API Python 클라이언트 라이브러리 http 모듈 가져오기
from googleapiclient import http
기본 제한 시간 상수를 업데이트합니다.
http.DEFAULT_HTTP_TIMEOUT_SEC = http-timeout-in-seconds
API 서비스를 빌드합니다.
# Build the API service. service = discovery.build( 'displayvideo', 'v3', discoveryServiceUrl=discovery_url, credentials=credentials)
PHP
다음을 사용하여 Guzzle HTTP 라이브러리를 다운로드하고 설치합니다. Composer
composer require guzzlehttp/guzzle:^7.0
Guzzle HTTP 클라이언트를 만들어 제한 시간 값을 할당합니다.
$httpClient = new \GuzzleHttp\Client(['timeout' => http-timeout-in-seconds]);
Google 클라이언트를 만들고 Guzzle HTTP 클라이언트를 할당합니다.
$client = new Google_Client(); $client->setHttpClient($httpClient);
API 제한 시간 오류 처리
드문 경우지만 복잡한 작업을 완료하는 요청이
서버 측 제한 시간이 180초이므로 API에서 408
또는 504
을 반환함
오류 응답이 반환됩니다.
요청이 이러한 오류 코드 중 하나로 응답하는 경우 지수 백오프 전략을 사용하여 요청을 재시도합니다.
오류가 계속되면 문의 양식을 사용하여 지원팀에 문의하세요.