API 호출 인증
이 예에서는 서비스 계정을 사용하여 애드센스 플랫폼 API를 호출하여 하위 계정을 만들고 관리하는 방법을 보여줍니다.
1단계: 새 Google Cloud 프로젝트 만들기 (또는 기존 프로젝트 사용)
기존 Google Cloud 프로젝트가 있으면 이를 사용해도 됩니다. 그렇지 않은 경우 아래 가이드에 따라 새 프로젝트를 설정하세요.
https://cloud.google.com/resource-manager/docs/creating-managing-projects
2단계: 서비스 계정 만들기
하위 계정을 만드는 가장 좋은 방법은 서비스 계정을 사용하는 것입니다. 서비스 계정을 만들려면 다음 단계를 따르세요.
- Google Cloud의 서비스 계정 페이지로 이동합니다.
- 기존 서비스 계정을 사용하거나 새 계정을 만들 수 있습니다.
- '+ 서비스 계정 만들기'를 클릭합니다.
- '서비스 계정 세부정보' 양식 작성
- 페이지의 2단계와 3단계 (프로젝트 및 사용자에 대한 액세스 권한 부여)는 선택사항입니다.
서비스 계정을 만들고 관리하는 방법 자세히 알아보기
서비스 계정이 생성되면 애드센스 계정에 추가하려면 Google에 전송해야 합니다. 서비스 계정이 애드센스 계정에 액세스할 수 있어야 하므로 이 작업은 필수입니다. 계정 관리자를 통해 알려주세요.
3단계: Google Cloud 프로젝트에 AdSense Platform API 사용 설정
AdSense Platform API는 검색할 수 없으므로 프로젝트에 사용 설정하려면 다음 링크를 방문해야 합니다.
https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview
4단계: 서비스 키 만들기
API 호출에 사용할 액세스 토큰을 생성하려면 서비스 키를 만들어야 합니다. 다음 단계를 따르세요.
- Google Cloud의 서비스 계정 페이지로 이동합니다.
- 작업 열에서 하위 계정을 만드는 데 사용할 서비스 계정의 를 클릭한 다음 '키 관리'를 클릭합니다.
- '키 추가'를 클릭한 다음 '새 키 만들기'를 선택합니다.
- JSON을 키 유형으로 선택한 상태에서 '만들기'를 클릭합니다.
- JSON 파일이 생성되어 컴퓨터에 다운로드됩니다. API 호출을 인증하는 데 필요하므로 안전하게 보관하세요.
서비스 계정 키 생성 및 관리에 대해 자세히 알아보세요.
5단계: Google의 OAuth 라이브러리를 사용하여 액세스 토큰 생성
Google은 API를 호출하는 데 사용할 수 있는 액세스 토큰을 생성하는 데 도움이 되는 라이브러리를 제공합니다. 서비스 계정의 사용자 인증 정보를 생성하는 방법을 알아보려면 다음을 참고하세요.
https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests
AdSense Platforms API의 범위는 다음과 같습니다.
https://www.googleapis.com/auth/adsense
Python 예시
from google.auth.transport import requests
from google.oauth2 import service_account
CREDENTIAL_SCOPES = ["https://www.googleapis.com/auth/adsense"]
CREDENTIALS_KEY_PATH = 'service.json'
def get_service_account_token():
credentials = service_account.Credentials.from_service_account_file(
CREDENTIALS_KEY_PATH, scopes=CREDENTIAL_SCOPES)
credentials.refresh(requests.Request())
return credentials.token
이 단계에서는 API 호출을 시작할 수 있습니다. AdSense Platform API에서는 아직 클라이언트 라이브러리가 지원되지 않으므로 대신 직접 HTTP 요청을 해야 합니다. 액세스 토큰은 HTTP 요청에 헤더로 포함되어야 합니다. 헤더는 다음과 같이 표시됩니다.
Authorization: OAuth <credentials>
예시는 API 페이지에 포함되어 있습니다.