API アクセスを設定する

SDK または REST を使用してデータマネージャー API へのアクセスを設定する方法は次のとおりです。

前提条件

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

  1. Google Cloud プロジェクト
  2. 次の両方の条件を満たす Google アカウント。
    1. データマネージャー API 関心フォームに記入後、データマネージャー API へのアクセス権が付与されている。API プロダクトの詳細ページが表示されれば、アクセス権があります。
    2. Google Cloud プロジェクトに対する serviceusage.services.enable 権限を持っているか、その権限を含むロールを持っている。たとえば、roles/ownerroles/serviceusage.serviceUsageAdmin の両方に serviceusage.services.enable 権限が含まれています。権限を確認するには、現在のアクセス権を表示するをご覧ください。

API を有効にする

まだ有効にしていない場合は、Data Manager API を有効にします

データマネージャー API が見つからない場合は、Google アカウントが前提条件を満たしていることを確認してください。

認証を設定する

認証方法を選択して設定します。環境から認証情報を自動的に検索するように、アプリケーションのデフォルト認証情報を設定することをおすすめします。この API は API キーを使用しません。

Data Manager API で使用される認証情報には、スコープ https://www.googleapis.com/auth/datamanager が必要です。スコープの使用例については、gcloud auth application-default login コマンドのドキュメントをご覧ください。

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

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

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

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

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

REST

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

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

    #!/bin/bash
    
    # Uses gcloud to get an access token.
    DATA_MANAGER_ACCESS_TOKEN="$(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/datamanager)"
    
    # 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": {
            "product": "OPERATING_ACCOUNT_PRODUCT",
            "accountId": "OPERATING_ACCOUNT_ID"
          },
          "loginAccount": {
            "product": "LOGIN_ACCOUNT_PRODUCT",
            "accountId": "LOGIN_ACCOUNT_ID"
          },
          "linkedAccount": {
            "product": "LINKED_ACCOUNT_PRODUCT",
            "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
    

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. data-manager-java.tar.gz をダウンロードして展開します。
    2. data-manager-java ディレクトリに移動します。
    3. Maven または Gradle の場合は、次のコマンドを実行します。このコマンドは、ユーティリティ ライブラリをビルドしてローカルの 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 サブディレクトリでコードサンプルを参照します。コマンドラインからサンプルを実行するには、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 のファイルを使用します。