Google Ads API의 OAuth 2.0 내부

이 섹션은 OAuth 2.0 사양에 이미 익숙하고 Google API에서 OAuth 2.0을 사용하는 방법을 아는 고급 사용자를 위한 것입니다.

범위

단일 액세스 토큰으로 여러 API에 다양한 수준의 액세스 권한을 부여할 수 있습니다. scope라는 가변 매개변수는 액세스 토큰이 허용하는 리소스 및 작업 집합을 제어합니다. 액세스 토큰 요청 중에 앱은 scope 매개변수에 하나 이상의 값을 전송합니다.

Google Ads API의 범위는 다음과 같습니다.

https://www.googleapis.com/auth/adwords

오프라인 사용 및 토큰 수명

Google Ads API 클라이언트 앱이 오프라인 액세스를 요청하는 것은 일반적입니다. 예를 들어 사용자가 웹사이트를 오프라인으로 탐색하지 않을 때 앱에서 일괄 작업을 실행할 수 있습니다. 액세스 토큰의 수명은 3,600초 (1시간)이며, 그 후 앱은 갱신 토큰을 새 액세스 토큰으로 교환해야 합니다.

웹 앱 유형의 오프라인 액세스를 요청하려면 access_type 매개변수를 offline로 설정해야 합니다. 자세한 내용은 Google의 OAuth 2.0 가이드를 참고하세요.

데스크톱 앱 유형의 경우 오프라인 액세스가 기본적으로 사용 설정되므로 명시적으로 요청하지 않아도 됩니다.

요청 헤더

Google Ads API에 대한 모든 요청에는 요청 헤더에 OAuth 2.0 액세스 토큰이 포함되어야 합니다. 다음 섹션에서는 gRPC와 REST를 사용하여 이러한 사용자 인증 정보를 전달하는 방법을 설명합니다.

gRPC 헤더

gRPC API를 사용하는 경우 각 요청에 액세스 토큰을 포함하세요. 해당 채널의 모든 요청에서 사용할 수 있도록 Credential를 Channel에 바인딩할 수 있습니다. 각 호출에 맞춤 사용자 인증 정보를 보낼 수도 있습니다. gRPC 승인 가이드에는 승인 처리에 관한 자세한 내용이 나와 있습니다.

REST 헤더

REST API를 사용하는 경우 HTTP 헤더 Authorization: Bearer <ACCESS_TOKEN>를 통해 액세스 토큰을 전달합니다. HTTP 요청의 예가 표시됩니다.

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \