API アクセスを設定する

SDK または REST を使用して Data Manager API へのアクセスを設定する方法は次のとおりです。

前提条件

Data API を使用する前に、次のものを用意しておきます。

  1. Google Cloud プロジェクト。既存のプロジェクトを使用することも、Data Manager API 専用の新しいプロジェクトを作成することもできます。

  2. Google Cloud プロジェクトに対する serviceusage.services.enable 権限を持つ Google アカウント、またはその権限を含むロールを持つ Google アカウント。たとえば、roles/ownerroles/serviceusage.serviceUsageAdmin の両方に serviceusage.services.enable 権限が含まれています。権限を確認するには、現在のアクセス権を表示するをご覧ください。

  3. Google Cloud CLI がインストールされている

API を有効にする

まだ有効にしていない場合は、[Data Manager API を有効にする] をクリックするか、手順に沿ってこの手順を手動で実行して、Data Manager API を有効にします。

Data Manager API を有効にする

データマネージャー API が見つからない場合や、データマネージャー API の有効化に失敗した場合は、Google アカウントが前提条件を満たしていることを確認します。

認証を設定する

API キー以外の Google の認証方法を使用できます。ユースケースに適したアプローチを判断するには、ユースケースに適した認証方法を選択する方法を確認することをおすすめします。

一般的な認証方法には、ユーザー アカウントサービス アカウントの 2 つがあります。

  • ユーザー アカウント: Google API やサービスを直接操作するユーザーを表します。
  • サービス アカウント: ユーザーとして人ではなくアプリを表します。これにより、アプリで認証と認可を管理できます。たとえば、アプリが Google Cloud リソースにアクセスする必要がある場合などです。

統合では、アプリケーションのデフォルト認証情報(ADC)を使用して環境から認証情報を自動的に検出できるため、認証を行うためにクライアント コードを変更する必要はありません。

ADC を設定するには、[ユーザー アカウント] または [サービス アカウント] を選択します。

ユーザー アカウント

ユーザー アカウントの認証情報を使用して認証する手順は次のとおりです。

  1. プロジェクトの Google Auth Platform の設定を構成します。

    1. Google Cloud コンソールで [ブランディング] ページを開きます。

    2. プロジェクトを選択します。

    3. フォームに記入し、[作成] をクリックします。

  2. Data Manager API スコープは機密性の高いスコープであるため、次の手順が必要です。

    1. プロジェクトの [データアクセス] 設定に移動します。

    2. [スコープを追加または削除] をクリックします。

    3. スコープのリストで [Data Manager API] の横にあるチェックボックスをオンにして、[更新] をクリックします。

    4. [保存] をクリックします。

    5. Google Cloud コンソールの [ユーザー] に移動し、[公開ステータス] と [ユーザータイプ] を更新します。これらの設定について詳しくは、アプリ オーディエンスを管理するをご覧ください。

  3. [OAuth2 クライアントを作成] をクリックしてプロジェクトに OAuth2 クライアントを作成するか、手順に沿ってデスクトップ OAuth2 クライアントを作成します。Data Manager API で使用する Desktop OAuth2 クライアントがすでにある場合は、この手順をスキップできます。

    [OAuth2 クライアントを作成] をクリックした場合は、[OAuth クライアントを構成] するよう求められたら [デスクトップ アプリ] を選択します。これにより、残りの手順でクライアントを使用できるようになります。

    OAuth2 クライアントを作成する

    最後の手順で、[クライアント構成をダウンロード] をクリックし、選択したダウンロード先をメモします。

  4. 次のコマンドを実行して、ローカル ADC ファイルを生成します。このコマンドを実行すると、API で使用している Google アカウントにログインするよう求めるウェブフローが開始されます。

    PATH_TO_CLIENT_JSON は、ダウンロードした JSON ファイルの名前に置き換えます。

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/cloud-platform" \
      --client-id-file="PATH_TO_CLIENT_JSON"
    

    Data Manager API と Google Ads API に同じ認証情報を使用する場合は、--scopes リストに Google Ads API スコープを含めます。

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform" \
      --client-id-file="PATH_TO_CLIENT_JSON"
    

    データマネージャー API と ディスプレイ&ビデオ 360 API に同じ認証情報を使用する場合は、--scopes リストにディスプレイ&ビデオ 360 API スコープを含めます。

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/display-video,https://www.googleapis.com/auth/cloud-platform" \
      --client-id-file="PATH_TO_CLIENT_JSON"
    
  5. 次のコマンドを使用して、認証情報が正しく設定されていることを確認します。成功すると、コマンドはアクセス トークンをコンソールに出力します。

    gcloud auth application-default print-access-token
    

サービス アカウント

認証にサービス アカウントの権限借用を使用する手順は次のとおりです。これらの手順では、サービス アカウント キーの代わりに権限借用を使用します。これは、サービス アカウント キーの管理を誤ると、セキュリティ上のリスクが生じる可能性があるためです

  1. 次の [サービス アカウントを作成] ボタンをクリックするか、手順に沿ってサービス アカウントを選択または作成します。

    サービス アカウントを作成する
  2. サービス アカウントに Service Usage 消費者 IAM ロール(roles/serviceusage.serviceUsageConsumer)を付与します。このロールには、サービス アカウントがプロジェクトの API リクエストを送信できるようにする serviceusage.services.use 権限が含まれています。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/serviceusage.serviceUsageConsumer"
    
  3. サービス アカウントに対するサービス アカウント トークン作成者 IAM ロール(roles/iam.serviceAccountTokenCreator)をGoogle アカウントに付与します。

    gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
      --member="user:USER_EMAIL" \
      --role="roles/iam.serviceAccountTokenCreator"
    
  4. 次のコマンドを実行して ADC を構成します。

    gcloud auth application-default login \
      --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/cloud-platform"
    

    Data Manager API と Google Ads API に同じ認証情報を使用する場合は、--scopes リストに Google Ads API スコープを含めます。

    gcloud auth application-default login \
      --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform"
    

    データマネージャー API と ディスプレイ&ビデオ 360 API に同じ認証情報を使用する場合は、--scopes リストにディスプレイ&ビデオ 360 API スコープを含めます。

    gcloud auth application-default login \
      --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/display-video,https://www.googleapis.com/auth/cloud-platform"
    

    ログインを求められたら、サービス アカウント トークン作成者のロールを持つ Google アカウントでログインします。

  5. 次のコマンドを使用して、認証情報が正しく設定されていることを確認します。成功すると、コマンドはアクセス トークンをコンソールに出力します。

    gcloud auth application-default print-access-token --scopes="https://www.googleapis.com/auth/datamanager"
    

アプリの認証と認証情報の詳細については、Google での認証方法アプリケーションのデフォルト認証情報の仕組みをご覧ください。

アカウントのアクセス権を設定する

ユーザー アカウント

ユーザーに関連付けられているメールに Destination へのアクセス権を付与します。

  • Google 広告アカウントを使用している場合は、手順に沿って、ユーザーのメールアドレスを Google 広告アカウントまたは親 Google 広告クライアント センター(MCC)アカウントに追加します。
  • ディスプレイ&ビデオ 360 アカウントを使用している場合は、手順に沿ってユーザーのメールアドレスをアカウントに追加します。
  • Google アナリティクスのプロパティを使用している場合は、こちらの手順に沿って、ユーザーのメールアドレスをアカウントに追加します。
  • 広告主様のアカウントからパートナー リンクを使用してデータ パートナー アカウントで Destination にアクセスする場合は、手順に沿って、ユーザーのメールアドレスをデータ パートナー アカウントに追加します。

サービス アカウント

サービス アカウントに関連付けられたメールアドレスに Destination へのアクセス権を付与します。

  • Google 広告アカウントを使用している場合は、アカウント アクセスの設定を完了して、サービス アカウントを Google 広告アカウントまたは親 Google 広告クライアント センター(MCC)アカウントに追加します。
  • ディスプレイ&ビデオ 360 アカウントを使用している場合は、手順に沿って、サービス アカウントに関連付けられたディスプレイ&ビデオ 360 ユーザーを作成します。
  • Google アナリティクスのプロパティを使用している場合は、こちらの手順に沿って、ユーザーのメールアドレスをアカウントに追加します。
  • 広告主様のアカウントからパートナー リンクを使用してデータ パートナー アカウントで Destination にアクセスする場合は、データ パートナー アカウントでアカウント アクセスの設定を完了して、サービス アカウントを追加し、アクセスレベルを設定します。

次のステップ

クライアント ライブラリをインストールし、サンプルコードを実行して、最初の Data Manager API リクエストを試します。