이 가이드에서는 모든 API 호출의 일반적인 구조를 설명합니다.
클라이언트 라이브러리를 사용하여 API와 상호작용하는 경우 기본 요청 세부정보를 알 필요가 없습니다. 하지만 API 호출 구조에 대해 어느 정도 알고 있으면 테스트 및 디버깅에 유용할 수 있습니다.
Google Ads API는 REST 바인딩이 있는 gRPC API입니다. 즉, API를 호출하는 방법에는 두 가지가 있습니다.
권장:
대부분의 문서에서는 gRPC 사용을 설명합니다.
선택사항:
요청 본문을 JSON 객체로 만듭니다.
HTTP 1.1을 사용하여 서버로 보냅니다.
응답을 JSON 객체로 역직렬화합니다.
결과를 해석합니다.
REST 사용에 관한 자세한 내용은 REST 인터페이스 가이드를 참고하세요.
리소스 이름
API의 대부분의 객체는 리소스 이름 문자열로 식별됩니다. 이러한 문자열은 REST 인터페이스를 사용할 때 URL 역할도 합니다. 구조는 REST 인터페이스의 리소스 이름을 참고하세요.
복합 ID
객체의 ID가 전역적으로 고유하지 않은 경우 상위 ID와 물결표 (~)를 앞에 추가하여 해당 객체의 복합 ID를 구성합니다.
예를 들어 광고 그룹 광고 ID는 전역적으로 고유하지 않으므로 고유한 복합 ID를 만들기 위해 상위 객체 (광고 그룹) ID를 앞에 추가합니다.
123의AdGroupId+~+45678의AdGroupAdId=123~45678의 복합 광고 그룹 광고 ID
요청 헤더
다음은 요청의 본문과 함께 제공되는 HTTP 헤더 (또는 gRPC 메타데이터)입니다.
승인
클라이언트를 대신하여 행동하는 관리자 계정 또는 자체 계정을 직접 관리하는 광고주를 식별하는 Authorization: Bearer
YOUR_ACCESS_TOKEN 형식의 OAuth2 액세스 토큰을 포함해야 합니다. 액세스 토큰을 가져오는 방법은 OAuth2
가이드에서 확인할 수 있습니다. 액세스 토큰은 획득한 후 1시간 동안 유효합니다. 만료되면 액세스 토큰을 새로고침하여 새 액세스 토큰을 가져옵니다.
클라이언트 라이브러리는 만료된 토큰을 자동으로 새로고침합니다.
승인 오류가 발생하면 올바른 사용자 인증 정보를 사용하고 있으며 충분한 권한이 있는지 확인합니다. USER_PERMISSION_DENIED 오류는 인증된 사용자에게 요청에 지정된 고객 계정에 대한 액세스 권한이 없을 수 있음을 나타냅니다. 권한 관리에 관한 자세한 내용은 Google Ads 액세스
수준을 참고하세요.
developer-token
개발자 토큰은 Google Ads API 개발자를 고유하게 식별하는 22자 문자열입니다. 개발자 토큰 문자열의 예는 ABcdeFGH93KL-NOPQ_STUv입니다. 개발자 토큰은 developer-token :
ABcdeFGH93KL-NOPQ_STUv 형식으로 포함되어야 합니다.
login-customer-id
이것은 하이픈 (-) 없이 요청에 사용할 승인된 고객의 고객 ID입니다. 관리자 계정을 통해 고객 계정에 액세스하는 경우 이 헤더는 필수 이며 관리자 계정의 고객 ID로 설정해야 합니다. 관리자 계정을 통해 인증할 때 login-customer-id를 포함하지 않으면 AuthorizationError.USER_PERMISSION_DENIED 오류가 발생합니다. 이 오류
유형에 관한 자세한 내용은 일반적인 오류를 검토하세요.
CampaignBudgetService 요청의 운영 고객은 1234567890:입니다.
https://googleads.googleapis.com/v24/customers/1234567890/campaignBudgets:mutate
login-customer-id를 설정하는 것은 로그인 후 또는 오른쪽 상단에서 프로필 이미지를 클릭한 후 Google Ads UI에서 계정을 선택하는 것과 같습니다. 이 헤더를 포함하지 않으면 기본적으로 운영 고객 으로 설정됩니다.
linked-customer-id
이 헤더는 연결된 Google Ads 계정에서 작업할 때 파트너 (예: 서드 파티 앱 분석 제공업체 또는 데이터 파트너)가 사용하며 필수입니다. 이 헤더 는 제품 링크가 있는 Google Ads 계정의 고객 ID를 지정해야 합니다.
파트너가 제품 링크를 기반으로 Google Ads 계정에 API 호출을 해야 하는 시나리오를 고려해 보세요.
- 광고주: API
호출로 관리되거나 업데이트되는 Google Ads 계정입니다. 광고주 계정의 ID는 요청에 지정됩니다. REST에서는
customerId경로 매개변수 (예:customers/1111111111/...)이고 gRPC에서는 요청의customer_id필드입니다. - 파트너: 파트너 계정 (예: 서드 파티 앱 분석 제공업체 또는 데이터 파트너)입니다.
- 연결된 계정: 파트너와 제품 링크가 설정되어 파트너에게 광고주에 대한 액세스 권한을 부여하는 Google Ads 계정입니다.
파트너에 액세스할 수 있는 사용자는 광고주의 항목에서 작업하기 위해 API 호출을 합니다 (예: 전환을 업로드하거나 사용자 목록을 관리). 연결된 계정은 광고주 자체 또는 광고주의 관리자 계정일 수 있습니다.
요청 헤더는 다음과 같이 설정해야 합니다.
Authorization: 파트너에 액세스할 수 있는 사용자의 OAuth2 토큰입니다.developer-token: API 애플리케이션의 개발자 토큰으로, 일반적으로 파트너와 연결됩니다.login-customer-id: 파트너의 고객 ID입니다. 인증된 사용자에게 이 계정에 대한 액세스 권한이 있어야 합니다.linked-customer-id: 연결된 계정의 고객 ID입니다. 이 헤더는 이 요청의 승인이 파트너와의 연결된 계정의 제품 링크에 의존함을 나타냅니다.
두 가지 연결 시나리오가 있습니다.
- 광고주가 파트너와 직접 제품 링크를 가지고 있는 경우 연결된 계정은 광고주이며
linked-customer-id는 광고주의 고객 ID로 설정해야 합니다. - 광고주가 파트너와 제품 링크가 있는 관리자 계정으로 관리되는 경우 연결된 계정은 관리자 계정이며
linked-customer-id는 관리자의 고객 ID로 설정해야 합니다.
예 1: 직접 링크
광고주 1111111111이 파트너 2222222222와 직접 링크되어 있고
API 호출이 customers/1111111111/...을 타겟팅하는 경우:
Authorization: Bearer YOUR_ACCESS_TOKEN
developer-token: YOUR_DEVELOPER_TOKEN
login-customer-id: 2222222222
linked-customer-id: 1111111111
예 2: 관리자 링크
광고주 1111111111이 관리자 3333333333에 의해 관리되고 관리자
3333333333이 파트너 2222222222와 링크되어 있으며 API 호출이
customers/1111111111/...을 타겟팅하는 경우:
Authorization: Bearer YOUR_ACCESS_TOKEN
developer-token: YOUR_DEVELOPER_TOKEN
login-customer-id: 2222222222
linked-customer-id: 3333333333
응답 헤더
다음 헤더 (또는 gRPC 후행 메타데이터)는 응답 본문과 함께 반환됩니다. 디버깅을 위해 이러한 값을 로깅하는 것이 좋습니다.
request-id
request-id는 이 요청을 고유하게 식별하는 문자열입니다.