API アクセスを設定する

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

前提条件

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

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

API を有効にする

まだ有効にしていない場合は、[データマネージャー API を有効にする] をクリックするか、手順に沿ってこの手順を手動で実行して、データマネージャー 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 クライアントを作成します。

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

    gcloud auth application-default print-access-token
    

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

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

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

  • Google 広告アカウントまたはデータ パートナー アカウントを使用している場合は、手順に沿って、ユーザーのメールアドレスをアカウントに追加します。
  • ディスプレイ&ビデオ 360 アカウントを使用している場合は、手順に沿って、ユーザーのメールアドレスをアカウントに追加します。

プログラミング言語の SDK を設定する

ローカルマシンに、選択した SDK をインストールします。

REST

  1. 次のサンプルのプレースホルダ(OPERATING_ACCOUNT_PRODUCTOPERATING_ACCOUNT_IDAUDIENCE_ID など)を、アカウントと宛先の値に置き換えます。
  2. PROJECT_ID は、Google Cloud の ID に置き換えます。
  3. サンプルをコマンドラインにコピーして、リクエストを送信します。

    確立された商品リンクを使用して operatingAccount にアクセスしない場合は、destinations のエントリの linkedAccount 属性を削除します。

    #!/bin/bash
    
    # Uses gcloud to get an access token. If the Application Default
    # Credentials aren't for a service account, the command that specifies
    # --scopes fails. This sample falls back to the command without the
    # --scopes argument.
    DATA_MANAGER_ACCESS_TOKEN="$(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/datamanager || \
      gcloud auth application-default print-access-token)"
    
    # Fetches and prints the scope information for the access token. If you
    # get scope-related errors when you send the request in the next step,
    # verify that this output includes the Data Manager API scope:
    #   https://www.googleapis.com/auth/datamanager
    curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token="${DATA_MANAGER_ACCESS_TOKEN}"
    
    # Sends the request.
    curl -X POST "https://datamanager.googleapis.com/v1/audienceMembers:ingest" \
      --header "Authorization: Bearer ${DATA_MANAGER_ACCESS_TOKEN}" \
      --header "x-goog-user-project: PROJECT_ID" \
      --header "Content-Type: application/json" \
      --data @- <<EOF
    {
      "destinations": [
        {
          "operatingAccount": {
            "accountType": "OPERATING_ACCOUNT_TYPE",
            "accountId": "OPERATING_ACCOUNT_ID"
          },
          "loginAccount": {
            "accountType": "LOGIN_ACCOUNT_TYPE",
            "accountId": "LOGIN_ACCOUNT_ID"
          },
          "linkedAccount": {
            "accountType": "LINKED_ACCOUNT_TYPE",
            "accountId": "LINKED_ACCOUNT_ID"
          },
          "productDestinationId": "AUDIENCE_ID"
        }
      ],
      "audienceMembers": [
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
              },
              {
                "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3"
              },
              {
                "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51"
              },
              {
                "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0"
              },
              {
                "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f"
              },
              {
                "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4"
              }
            ]
          }
        }
      ],
      "consent": {
        "adUserData": "CONSENT_GRANTED",
        "adPersonalization": "CONSENT_GRANTED"
      },
      "encoding": "HEX",
      "termsOfService": {
        "customerMatchTermsOfServiceStatus": "ACCEPTED"
      },
      "validateOnly": true
    }
    EOF
    

.NET

  1. google-cloud-ads-datamanager-v1-csharp.tar.gz をダウンロードして解凍します。

  2. .NET プロジェクトで、Data Manager API ライブラリに対する ProjectReference 依存関係を宣言します。PATH_TO_CLIENT_LIBRARY は、google-cloud-ads-datamanager-v1-csharp.tar.gz から google-cloud-ads-datamanager-v1-csharp ディレクトリを抽出した場所に置き換えます。

    <ProjectReference Include="PATH_TO_CLIENT_LIBRARY\Google.Ads.DataManager.V1\Google.Ads.DataManager.V1.csproj" />
    
  3. (省略可)ユーティリティ ライブラリとコードサンプルを取得します。

    1. data-manager-dotnet.tar.gz をダウンロードして抽出します。

    2. .NET プロジェクトで、ユーティリティ ライブラリに対する ProjectReference 依存関係を宣言します。PATH_TO_UTILITY_LIBRARY は、data-manager-dotnet.tar.gz から data-manager-dotnet ディレクトリを抽出した場所に置き換えます。

      <ProjectReference Include="PATH_TO_UTILITY_LIBRARY\Google.Ads.DataManager.Util\src\Google.Ads.DataManager.Util.csproj" />
      
    3. データをフォーマットするには、.NET プロジェクトの Formatter ユーティリティを使用します。

    4. samples サブディレクトリでコードサンプルを参照します。

      コードサンプルを実行するには、DATA_MANAGER_DOTNET_LIB 環境変数を、google-cloud-ads-datamanager-v1-csharp.tar.gz から google-cloud-ads-datamanager-v1-csharp ディレクトリを抽出した場所に設定します。

      export DATA_MANAGER_DOTNET_LIB="PATH_TO_CLIENT_LIBRARY"
      

      samples ディレクトリに移動し、dotnet run を使用して使用可能なサンプルのリストを取得します。

      dotnet run --framework net8.0
      

      サンプルを実行するときに --help 引数を渡すと、想定されるパラメータを含む使用方法のステートメントが出力されます。

      dotnet run --framework net8.0 -- ingest-audience-members --help
      

      サンプルデータを使用して開始するには、samples/sampledata/audience_members_1.csv のファイルを使用します。

Java

  1. google-cloud-ads-datamanager-v1-java.tar.gz をダウンロードして解凍します。
  2. google-cloud-ads-datamanager-v1-java ディレクトリに移動します。
  3. 次のコマンドを実行して、Maven または Gradle で使用するためにライブラリをビルドし、ローカル Maven リポジトリに公開します。

    ./gradlew -Pversion=0.1.0 install
    
  4. Java プロジェクトで、Data Manager API ライブラリの依存関係を宣言します。

    Gradle:

    implementation 'com.google.cloud:gapic-google-cloud-ads-datamanager-v1-java:0.1.0'
    

    Maven:

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>gapic-google-cloud-ads-datamanager-v1-java</artifactId>
      <version>0.1.0</version>
    </dependency>
    
  5. (省略可)ユーティリティ ライブラリとコードサンプルを取得します。

    1. GitHub リポジトリのクローンを作成します。

      git clone https://github.com/googleads/data-manager-java.git
      
    2. data-manager-java ディレクトリに移動します。

    3. ユーティリティ ライブラリをビルドして、ローカルの Maven リポジトリに公開します。

      ./gradlew data-manager-util:install
      
    4. Java プロジェクトで、ユーティリティ ライブラリへの依存関係を宣言します。

      Gradle:

      implementation 'com.google.api-ads:data-manager-util:0.1.0'
      

      Maven:

      <dependency>
         <groupId>com.google.api-ads</groupId>
         <artifactId>data-manager-util</artifactId>
         <version>0.1.0</version>
      </dependency>
      
    5. データをフォーマットして暗号化するには、Java プロジェクトで UserDataFormatter ユーティリティと Encrypter ユーティリティを使用します。

    6. data-manager-samples サブディレクトリまたは GitHub でコードサンプルを参照します。コマンドラインからサンプルを実行するには、Gradle の run タスクを使用します。

      たとえば、次のコマンドは IngestAudienceMembers サンプルを実行し、使用方法のステートメントを出力します。

      ./gradlew data-manager-samples:run \
        --args='IngestAudienceMembers --help'
      

      サンプルデータを使用して開始するには、data-manager-samples/src/main/resources/sampledata/audience_members_1.csv のファイルを使用します。

Python

  1. ads-datamanager-v1-py.tar.gz をダウンロードします。
  2. ダウンロードしたファイルのディレクトリに移動します。
  3. 次のコマンドを実行して、ライブラリをビルドし、同じ Python 環境内の他のプロジェクトで使用できるようにします。

    pip install ./ads-datamanager-v1-py.tar.gz
    
  4. Python プロジェクトで、Data Manager API ライブラリの依存関係を宣言します。たとえば、プロジェクトで requirements.txt ファイルを使用している場合は、次の行をファイルに追加します。

    google-ads-data-manager=0.1.0
    
  5. (省略可)ユーティリティ ライブラリとコードサンプルを取得します。

    1. data-manager-python.tar.gz をダウンロードして抽出します。
    2. data-manager-python ディレクトリに移動します。
    3. Python 環境にユーティリティ ライブラリをインストールするには、次のコマンドを実行します。

      pip install .
      
    4. Python プロジェクトで、ユーティリティ ライブラリへの依存関係を宣言します。たとえば、プロジェクトで requirements.txt ファイルを使用している場合は、ファイルに次の行を追加します。

      google-ads-data-manager-util=0.1.0
      
    5. データをフォーマットして暗号化するには、Python プロジェクトで Formatter ユーティリティと Encrypter ユーティリティを使用します。

    6. samples サブディレクトリでコードサンプルを参照します。サンプルを実行するときに --help 引数を渡すと、想定されるパラメータを含む使用方法のステートメントが出力されます。

      サンプルデータを使用して開始するには、samples/sampledata/audience_members_1.csv のファイルを使用します。

Node.js

  1. ads-datamanager-v1-nodejs.tar.gz をダウンロードして展開します。
  2. ads-datamanager-v1-nodejs ディレクトリに移動します。
  3. 次のコマンドを実行して、ライブラリをコンパイルし、npm で使用する .tgz ファイルにパックします。

    npm install
    npm pack
    

    このコマンドにより、google-cloud-datamanager-0.1.0.tgz という名前のアーカイブが生成されます。

  4. Node.js プロジェクトで、google-cloud-datamanager-0.1.0.tgz ファイルのフルパスとファイル名の dependencies エントリを追加して、Data Manager API ライブラリへの依存関係を宣言します。

PHP

  1. google-cloud-ads-datamanager-v1-php.tar.gz をダウンロードして展開します。
  2. google-cloud-ads-datamanager-v1-php ディレクトリに移動します。
  3. 次のコマンドを実行して、ライブラリの依存関係を解決します。

    composer update --prefer-dist
    
  4. 同じホスト上の PHP プロジェクトの composer.json ファイルで、次の手順に沿って Data Manager API ライブラリの依存関係を宣言します。

    1. google-cloud-ads-datamanager-v1-php ディレクトリの場所を指す repositories セクションを追加します。

      "repositories" : [
         {
            "type" : "path",
            "url" : "PATH_TO_CLIENT_LIBRARY"
         }
      ]
      
    2. データマネージャー API ライブラリの依存関係を宣言します。

      "require": {
         "googleads/data-manager": "^0.1.0"
      }
      
  5. (省略可)ユーティリティ ライブラリとコードサンプルを取得します。

    1. data-manager-php.tar.gz をダウンロードして抽出します。
    2. data-manager-php ディレクトリに移動します。
    3. 次のコマンドを実行して、ライブラリの依存関係を解決します。

      composer update --prefer-dist
      
    4. 同じホスト上の PHP プロジェクトの composer.json ファイルで、次の手順に沿ってユーティリティ ライブラリの依存関係を宣言します。

      1. data-manager-php ディレクトリの場所を指すエントリを repositories セクションに追加します。

        "repositories" : [
           {
              "type" : "path",
              "url" : "PATH_TO_UTILITY_LIBRARY"
           }
        ]
        
      2. ユーティリティ ライブラリへの依存関係を宣言します。

        "require": {
           "googleads/data-manager-util": "@dev"
        }
        

      データをフォーマットするには、PHP プロジェクトで Formatter ユーティリティを使用します。

    5. samples サブディレクトリでコードサンプルを参照します。次の手順でサンプルを実行します。

      1. samples ディレクトリに移動します。

      2. DATA_MANAGER_PHP_LIB 環境変数を、クライアント ライブラリを抽出したパスに設定します。

        export DATA_MANAGER_PHP_LIB="PATH_TO_CLIENT_LIBRARY"
        
      3. 次のコマンドを実行して、ライブラリの依存関係を解決します。

        composer update --prefer-dist
        
      4. 必要な引数を渡してサンプルを実行します。サンプルを実行するときに --help 引数を渡して、想定されるパラメータを含む使用状況ステートメントを出力します。

      サンプルデータを使用して開始するには、samples/sampledata/audience_members_1.csv のファイルを使用します。

次のステップ