認証と 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 アクセスに使用する scopehttps://www.googleapis.com/auth/adwords です。

新しいアクセス トークンを生成する

サービス アカウント

サービス アカウントのメールアドレスサービス アカウント キー が用意できたら、OAuth 2.0 を使用したサーバー間アプリケーションのガイドに沿って JWT クレームセットを生成します。このクレームセットは、OAuth 2.0 アクセス トークンと交換できます。ガイドに沿って操作する際は、必ず HTTP/REST タブを選択してください。Google Ads API アクセスに使用する OAuth 2.0 scopehttps://www.googleapis.com/auth/adwords です。また、設定手順ではサービス アカウントに Google 広告アカウントへの直接アクセス権が付与されるため、JWT クレームセットを作成する際に sub パラメータを省略できます。これにより、Google 広告ユーザーを偽装する必要がなくなります。

次に、Google Ads API へのすべての API 呼び出しの Authorization HTTP ヘッダーでアクセス トークン を使用します。

GET /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

リクエスト ヘッダー

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

開発者トークン

Google Ads API では、API を呼び出すために開発者トークン も必要です。開発者トークンをすでに取得している場合は、 https://ads.google.com/aw/apicenter にアクセスして確認できます。ログインを求められたら、Google 広告の MCC アカウントにログインします。まだ取得していない場合は、手順に沿って開発者 トークン に登録してください

Google Ads API へのすべての API 呼び出しの developer-token HTTP ヘッダーに開発者トークンの値を含める必要があります。

GET /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

ログイン お客様 ID

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

このヘッダーを含めることは、ログイン後に Google 広告 UI でアカウントを選択するか、ページの右上にあるプロフィール画像をクリックすることと同じです。お客様 ID を指定する際は、ハイフン(-)を削除してください。例: 1234567890123-456-7890 ではない)。ログイン お客様 ID について詳しくは、Google 広告のアクセス モデル ガイドをご覧ください。

GET /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

リンクしているお客様 ID

リンクしているお客様 ID ヘッダーは、リンクされた Google 広告アカウントにコンバージョンをアップロードする際に、サードパーティ製アプリ分析プロバイダによってのみ使用されます 詳しくは、 API 呼び出しの構造ガイドをご覧ください。

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

レスポンス ヘッダー

API からの HTTP レスポンスでは、次のヘッダーが返されます。

リクエスト ID

request-id は、API リクエストを一意に識別する文字列です。特定の API 呼び出しで問題が発生した場合にデバッグやトラブルシューティングを行う際は、Google デベロッパー サポートにお問い合わせの際に request-id を伝えると便利です。

request-id: 2a5Cj89VV7CNhya1DZjjrC