サービス アカウント

ここでは、サービス アカウントを使って Google Ad API にアクセスする方法を説明します。

サービス アカウントは、個々のエンドユーザーではなく、アプリに属するアカウントです。サービス アカウントでは、ウェブアプリと Google サービスの間でサーバー間通信を行うことができます。アプリがサービス アカウントに代わって Google API を呼び出すため、ユーザーが直接関与する必要はありません。

Google Ads API では、Google Workspace を介したサービス アカウントにアクセスできます。

サービス アカウントは手動認証を必要としない OAuth2 フローに対応しており、アプリケーションだけがアクセスできるキーファイルを使用します。

サービス アカウントの主なメリットは次の 2 つです。

  • Google API へのアクセスに必要な承認作業を、設定の一環として行います。そのため、手動操作が必要となる OAuth2 の他のフローでは、関連する面倒な作業が必要ありません。
  • OAuth2 アサーション フローでは、必要に応じて他のユーザーになり代わってアプリケーションを機能させることができます。

Prerequisites

  • 所有している Google Workspace ドメインmydomain.commybusiness.com など)。
  • Google Ads API 開発者トークン(可能な場合はテスト アカウントも)
  • 使用している言語用のクライアント ライブラリ
  • Google Ads API 用に設定された Google API Console プロジェクト。
  • 利用したい Google 広告アカウントの権限を持つ Google 広告ユーザー。 Google 広告では、権限のないサービス アカウントの使用はサポートされていません。

サービス アカウントによるアクセスを設定する

  1. まず、サービス アカウントと認証情報を作成します。サービス アカウント キーを JSON 形式でダウンロードします。また、サービス アカウント ID をメモします。
  2. サービス アカウント ID と Google Ads API のスコープ(https://www.googleapis.com/auth/adwords)をドメイン管理者と共有します。ドメイン全体の権限をサービス アカウントに委任するようドメイン管理者に依頼します。
  3. ドメイン管理者の方は、ヘルプセンター ガイドの手順に沿ってご対応ください。

これで、サービス アカウントを使用して OAuth2 アサーション フローで Google 広告アカウントにアクセスできるようになります。

クライアント ライブラリを設定する

以下からご使用の言語を選択し、手順に従ってクライアント ライブラリを設定してください。

セキュリティに関する懸念

サービス アカウントは Google Workspace ドメインに対してドメインレベルの委任制御を行うため、承認されている Google サービスにサービス アカウントへのアクセスを許可する鍵ファイルを保護することが重要です。このサービス アカウントはドメイン内のすべてのユーザーになりすますことができるため、特にこれが当てはまります。

また、必要最小限の API セットにのみサービス アカウントへのアクセスを許可することをおすすめします。これは、サービス アカウントの鍵ファイルが不正使用された場合に攻撃者がアクセスできるデータ量を制限する予防措置です。