Google Ads API를 호출할 때는 OAuth 2.0 사용자 인증 정보와 개발자 토큰이 모두 필요합니다. Google Ads 관리자 계정으로 API를 호출하는 경우 각 요청에 login-customer-id 헤더도 지정해야 합니다. 이 페이지에서는 이러한 값을 설정하는 방법을 설명하고 REST 인터페이스를 사용할 때 전송되고 수신되는 몇 가지 추가 API별 HTTP 헤더를 문서화합니다.
OAuth 2.0 사용자 인증 정보
Google Ads API는 API 요청 승인에 OAuth 2.0을 사용합니다. OAuth 2.0 사용자 인증 흐름과 서비스 계정 흐름이 모두 지원됩니다. 자세한 내용은 Google Ads API의 OAuth 2.0을 참고하세요.
Google API를 처음 사용하는 경우 gcloud CLI 또는 OAuth 2.0 Playground를 사용하여 OAuth 2.0 사용자 인증 정보와 Google Ads API를 실험한 후 앱 코드를 작성할 수 있습니다.
https://oauth.net/code/에서 제공되는 OAuth 2.0 라이브러리 중 하나를 사용하여 OAuth 2.0 승인 워크플로를 구현하는 것이 좋습니다. 하지만 직접 구현해야 하는 경우를 위해 curl 명령어를 나열했습니다.
서비스 계정
단계에 따라 Google Ads API용 Google Cloud 프로젝트를 구성합니다. 서비스 계정 이메일과 서비스 계정 키를 기록합니다. 그런 다음 서비스 계정 가이드의 일반 안내에 따라 Google Ads 계정에 액세스할 서비스 계정을 설정합니다.
사용자 인증
Google Ads API용 Google Cloud Console 프로젝트를 구성하는 단계를 따릅니다. 클라이언트 ID와 클라이언트 보안 비밀번호를 기록합니다. 그런 다음 데스크톱 앱 흐름 안내 또는 웹 앱 흐름 안내에 따라 갱신 토큰과 액세스 토큰을 생성합니다. Google Ads API 액세스에 사용할 scope는 https://www.googleapis.com/auth/adwords입니다.
새 액세스 토큰 생성
서비스 계정
서비스 계정 이메일과 서비스 계정 키가 있으면 서버 애플리케이션에 서버용 OAuth 2.0 사용 가이드에 따라 JWT 클레임 세트를 생성합니다. 그러면 OAuth 2.0 액세스 토큰을 얻기 위해 교환할 수 있습니다. 가이드를 따르는 동안 HTTP/REST 탭을 선택해야 합니다. Google Ads API 액세스에 사용할 OAuth 2.0 scope는 https://www.googleapis.com/auth/adwords입니다. 또한 설정 단계에서 서비스 계정에 Google Ads 계정에 대한 직접 액세스 권한을 부여하므로 JWT 클레임 세트를 구성할 때 sub 매개변수를 건너뛸 수 있습니다. 따라서 Google Ads 사용자를 가장할 필요가 없습니다.
그런 다음 Google Ads API에 대한 모든 API 호출의 Authorization HTTP 헤더에서 액세스 토큰을 사용합니다.
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
사용자 인증
OAuth 2.0 클라이언트 ID, 클라이언트 보안 비밀번호, 새로고침 토큰이 있으면 curl 명령줄 도구를 사용하여 API 호출에 사용할 새 액세스 토큰을 생성할 수 있습니다.
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/token그런 다음 Google Ads API에 대한 모든 API 호출의 Authorization HTTP 헤더에서 curl 요청에 의해 반환된 액세스 토큰을 사용합니다.
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
요청 헤더
개발자 토큰
Google Ads API는 API를 호출하기 위해 개발자 토큰도 필요합니다. 개발자 토큰이 이미 있는 경우 https://ads.google.com/aw/apicenter로 이동하여 확인할 수 있습니다. 메시지가 표시되면 Google Ads 관리자 계정에 로그인합니다. 개발자 토큰이 없으면 개발자 토큰 가입 안내를 따르세요.
Google Ads API에 대한 모든 API 호출의 developer-token HTTP 헤더에 개발자 토큰 값을 포함해야 합니다.
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
로그인 고객 ID
관리자가 클라이언트 계정에 대해 Google Ads API를 호출하는 경우 (즉, 관리자로 로그인하여 클라이언트 계정 중 하나에 API를 호출하는 경우) login-customer-id HTTP 헤더도 제공해야 합니다. 이 값은 API 호출을 수행하는 관리자의 Google Ads 고객 ID를 나타냅니다.
이 헤더를 포함하는 것은 로그인 후 Google Ads UI에서 계정을 선택하거나 페이지 오른쪽 상단에 있는 프로필 이미지를 클릭하는 것과 같습니다. 고객 ID를 지정할 때는 하이픈(—)을 삭제해야 합니다.
예: 1234567890(123-456-7890 아님) 로그인 고객 ID에 대해 자세히 알아보려면 Google Ads 액세스 모델 가이드를 참고하세요.
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
연결된 고객 ID
연결된 고객 ID 헤더는 연결된 Google Ads 계정에 전환을 업로드할 때만 [서드 파티 앱 분석 서비스 제공업체]에서 사용합니다. 자세한 내용은 API 호출 구조 가이드를 참고하세요.
...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID
응답 헤더
다음 헤더는 API의 HTTP 응답에서 반환됩니다.
요청 ID
request-id는 API 요청을 고유하게 식별하는 문자열입니다. 특정 API 호출과 관련된 문제를 디버깅하거나 해결할 때 request-id는 Google 개발자 지원팀에 문의할 때 유용한 중요한 식별자입니다.
request-id: 2a5Cj89VV7CNhya1DZjjrC