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}" \