認証と HTTP ヘッダー

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 CLI または 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 です。また、JWT クレームセットを構築する際に sub パラメータを省略できます。これは、設定手順でサービス アカウントに Google 広告アカウントへの直接アクセス権が付与されるため、Google 広告ユーザーを偽装する必要がないためです。

次に、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

次に、Google Ads API へのすべての API 呼び出しの Authorization HTTP ヘッダーで、curl リクエストから返された アクセス トークン を使用します。

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

リクエスト ヘッダー

以降のセクションでは、Google Ads API にリクエストを行う際に必要となる HTTP ヘッダーについて説明します。

ログイン用お客様 ID

クライアント アカウントに対して MCC が行う Google Ads API 呼び出し(つまり、MCC としてログインしてクライアント アカウントのいずれかに API 呼び出しを行う場合)では、login-customer-id HTTP ヘッダーも指定する必要があります。この値は、API 呼び出しを行う MCC の Google 広告のお客様 ID を表します。

このヘッダーを含めることは、ログイン後に Google 広告の管理画面でアカウントを選択するか、ページの右上にあるプロフィール画像をクリックするのと同じです。お客様 ID を指定するときは、ハイフン(-)を削除してください。例: 1234567890(123-456-7890 ではない)。ログイン用お客様 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 呼び出しに関する問題をデバッグまたはトラブルシューティングする際に、Google Developers サポートに問い合わせる際に request-id があると便利です。

request-id: 2a5Cj89VV7CNhya1DZjjrC