API 呼び出しの仕組み

このガイドでは、すべての API 呼び出しの共通の構造について説明します。

API とのやり取りにクライアント ライブラリを使用している場合は基となるリクエストの詳細について特に考慮する必要はありませんが、テストやデバッグを行う際にはそのようなリクエストの知識が役立ちます。

Google Ads API は、REST バインディングを利用した gRPC API で、呼び出す方法は次の 2 つがあります。

  1. 推奨: リクエスト本文をプロトコル バッファとして作成し、HTTP/2 を使ってそれをサーバーに送信し、そのレスポンスをプロトコル バッファにデシリアライズして、結果を解釈します。ほとんどのドキュメントでは、gRPC の使用について説明しています。

  2. 別の方法: リクエストの本文を JSON オブジェクトとして作成し、HTTP 1.1 を使ってそれをサーバーに送信し、そのレスポンスを JSON オブジェクトとしてデシリアライズして、結果を解釈します。REST の使用方法については、REST インターフェース ガイドをご覧ください。

リソース名

API のほとんどのオブジェクトは、リソース名文字列で識別されます。これらの文字列は、REST インターフェースを使用する場合の URL としても機能します。構造については、REST インターフェースのリソース名をご覧ください。

複合 ID

オブジェクトの ID がグローバル レベルで一意でない場合、そのオブジェクトの複合 ID は、親 ID とチルド(~)を前に付けて作成されます。

たとえば、広告グループ広告 ID はグローバル レベルで一意ではないため、親オブジェクト(広告グループ)ID を先頭に追加して、一意の複合 ID を作成します。

  • 123AdGroupId + ~ + 45678AdGroupAdId = 123~45678 の複合広告グループ広告 ID。

リクエスト ヘッダー

HTTP ヘッダー(grpc メタデータ)をリクエストの本文に加えることができます。

承認

OAuth2 アクセス トークンを Authorization: Bearer YOUR_ACCESS_TOKEN の形式で含めてください。これはクライアント センター(MCC)アカウントがクライアントの代理なのか、広告主様がアカウントを直接管理しているのかを識別するために必要となります。アクセス トークンを取得する方法については OAuth2 ガイドをご覧ください。アクセス トークンの有効期限は取得後 1 時間です。失効した場合は、アクセス トークンを更新して新たに取得してください。クライアント ライブラリを使用している場合、失効したトークンは自動的に更新されます。

developer-token

開発者トークンは、Google Ads API 開発者を一意に識別する 22 文字の文字列です。開発者トークン文字列の例は ABcdeFGH93KL-NOPQ_STUv です。デベロッパー トークンは developer-token : ABcdeFGH93KL-NOPQ_STUv の形式で含める必要があります。

login-customer-id

これは、リクエストで使用する承認済みクライアントのお客様 ID で、ハイフン(-)なしで使用します。MCC アカウントからクライアント アカウントにアクセスしている場合、このヘッダーは MCC アカウントのお客様 ID に設定する必要があります。

https://googleads.googleapis.com/v19/customers/1234567890/campaignBudgets:mutate

login-customer-id を設定すると、ログインした後に Google 広告 UI でアカウントを選択するか、右上にある自分のプロフィール画像をクリックしたときと同じ効果が得られます。このヘッダーを含めないと、デフォルトのオペレーティング カスタマになります。

linked-customer-id

このヘッダーは、リンクされた Google 広告アカウントにコンバージョンをアップロードする際に、第三者アプリ分析プロバイダが使用するのみです。

アカウント A のユーザーが、ThirdPartyAppAnalyticsLink を介してアカウント B にエンティティに対する読み取りと編集のアクセス権を付与するシナリオについて考えてみましょう。リンクが設定されると、アカウント B のユーザーは、リンクによって付与された権限に従って、アカウント A に対して API 呼び出しを行うことができます。この場合、アカウント A に対する API 呼び出し権限は、他の API 呼び出しで使用されるマネージャーとアカウントの関係ではなく、アカウント B へのサードパーティのリンクによって決まります。

サードパーティのアプリ分析プロバイダは、次のように API 呼び出しを行います。

  • linked-customer-id: データをアップロードするサードパーティ製アプリ分析アカウント(アカウント B)。
  • customer-id: データがアップロードされる Google 広告アカウント(アカウント A)。
  • login-customer-id ヘッダーと Authorization ヘッダー: アカウント B にアクセスできるユーザーを識別する値の組み合わせ。

レスポンス ヘッダー

以下のヘッダー(grpc trailing-metadata)がレスポンスの本文とともに返されます。デバッグ目的でこれらの値をログに記録することをおすすめします。

request-id

request-id は、このリクエストを一意に識別する文字列です。