Google Ads API を呼び出すには、OAuth 2.0 認証情報が必要です。Google 広告 MCC アカウントで 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 コマンドライン ツールまたは OAuth 2.0 Playground を使用して、アプリのコードを記述する前に OAuth 2.0 認証情報と Google Ads API をテストできます。
OAuth 2.0 認可ワークフローを実装するには、https://oauth.net/code/ で入手できる OAuth 2.0 ライブラリのいずれかを使用することをおすすめします。ただし、自分で実装する必要がある場合に備えて、curl の手順を記載しています。
サービス アカウント
手順に沿って、Google Ads API の Google Cloud プロジェクトを構成します。サービス アカウントのメールアドレスとサービス アカウント キーをメモします。次に、サービス アカウント ガイドの一般的な手順に沿って、Google 広告アカウントにアクセスするためのサービス アカウントを設定します。
ユーザー認証
手順に沿って、Google Ads API 用の Google Cloud コンソール プロジェクトを構成します。クライアント 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 広告アカウントへの直接アクセス権を付与するため、Google 広告ユーザーの権限を借用する必要がなくなり、JWT クレームセットを作成するときに sub パラメータをスキップできます。
次に、Google Ads API へのすべての API 呼び出しの Authorization HTTP ヘッダーでアクセス トークンを使用します。
GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_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次に、curl リクエストによって返されたアクセス トークンを、Google Ads API へのすべての API 呼び出しの Authorization HTTP ヘッダーで使用します。
GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
リクエスト ヘッダー
以降のセクションでは、Google Ads API にリクエストを送信する際に必要となる、または使用される HTTP ヘッダーについて説明します。
ログイン用お客様 ID
マネージャーがクライアント アカウントに対して行う Google Ads API 呼び出し(つまり、マネージャーとしてログインして、クライアント アカウントの 1 つに対して API 呼び出しを行う場合)では、login-customer-id HTTP ヘッダーも指定する必要があります。この値は、API 呼び出しを行うマネージャーの Google 広告のお客様 ID を表します。
このヘッダーを含めることは、ログイン後に Google 広告の管理画面でアカウントを選択すること、またはページの右上にあるプロフィール画像をクリックすることと同じです。お客様 ID を指定する際は、ハイフン(-)を削除してください。例: 123-456-7890 ではなく 1234567890。ログインのお客様 ID の詳細については、Google 広告のアクセスモデル ガイドをご覧ください。
GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
リンクしているお客様 ID
リンクされたお客様 ID ヘッダーは、リンクされた Google 広告アカウントを操作する際に、パートナー(サードパーティ製アプリ分析プロバイダやデータ パートナーなど)によって使用されます。詳細については、API 呼び出し構造ガイドをご覧ください。
Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID
レスポンス ヘッダー
API からの HTTP レスポンスでは、次のヘッダーが返されます。
リクエスト ID
request-id は、API リクエストを一意に識別する文字列です。特定の API 呼び出しに関する問題のデバッグやトラブルシューティングを行う場合、request-id は Google Developers サポートに問い合わせる際に手元に置いておくべき重要な識別子です。
request-id: 2a5Cj89VV7CNhya1DZjjrC