이 가이드에서는 서비스 계정으로 Google Ads API에 액세스하는 방법을 설명합니다.
서비스 계정은 개별 최종 사용자가 아니라 앱에 속한 계정입니다. 서비스 계정은 웹 앱과 Google 서비스 간의 서버 간 상호작용을 지원합니다. 앱이 서비스 계정을 대신하여 Google API를 호출하므로 사용자가 직접 관여하지 않습니다.
서비스 계정은 사람의 승인이 필요하지 않은 OAuth2 흐름을 사용합니다. 이 흐름은 앱만 액세스할 수 있는 키 파일을 대신 사용합니다.
서비스 계정을 사용하면 두 가지 주요 이점이 있습니다.
- Google API 액세스 승인은 구성 단계로 실행되므로 사용자 상호작용이 필요한 다른 OAuth2 흐름과 관련된 복잡성을 방지할 수 있습니다.
- OAuth2 어설션 흐름을 사용하면 앱에서 필요한 경우 다른 사용자를 가장할 수 있습니다.
기본 요건
- 소유하고 있는 Google Workspace 도메인(예:
mydomain.com
또는mybusiness.com
) - Google Ads API 개발자 토큰 및 테스트 계정(선택사항)
- 사용 중인 언어의 클라이언트 라이브러리
- Google Ads API에 맞게 구성된 Google API 콘솔 프로젝트
- 액세스하려는 Google Ads 계정에 대한 권한이 있는 Google Ads 사용자입니다. Google Ads는 명의 도용이 없는 서비스 계정 사용을 지원하지 않습니다.
서비스 계정 액세스 설정
사용자 가장은 도메인 수준에서만 제어되므로 Google OAuth2에서 서비스 계정과 어설션 흐름을 사용하려면 자체 도메인이 Google Workspace에 등록되어 있어야 합니다. 그러면 앱과 앱 사용자가 도메인의 모든 사용자로 가장할 수 있습니다.
-
JSON 형식의 서비스 계정 키를 다운로드하고 서비스 계정 ID를 기록합니다.
서비스 계정 ID와 Google Ads API 범위(
https://www.googleapis.com/auth/adwords
)를 도메인 관리자와 공유하세요.도메인 관리자에게 요청하여 서비스 계정에 도메인 전체 권한을 위임합니다.
도메인 관리자라면 고객센터 안내를 따르세요.
이제 OAuth2 어설션 흐름을 통해 서비스 계정을 사용하여 Google Ads 계정에 액세스할 수 있습니다.
클라이언트 라이브러리 구성
클라이언트 라이브러리 구성에 대한 안내를 보려면 아래에서 언어를 선택하세요.
Java
.NET
Python
2,399필리핀
루비
Perl
보안 문제
서비스 계정에는 Google Workspace 도메인에 대한 도메인 수준 위임 제어 기능이 있으므로 서비스 계정이 승인된 Google 서비스에 액세스할 수 있도록 키 파일을 보호하는 것이 중요합니다. 서비스 계정은 도메인의 모든 사용자를 가장할 수 있기 때문에 특히 중요합니다.
또 다른 좋은 방법은 서비스 계정이 필요한 최소한의 API 집합에만 액세스하도록 허용하는 것입니다. 이는 서비스 계정의 키 파일이 손상된 경우 공격자가 액세스할 수 있는 데이터의 양을 제한하기 위한 사전 조치입니다.