SDK または REST を使用して Data Manager API へのアクセスを設定する方法は次のとおりです。
前提条件
Data API を使用する前に、次のものを用意しておきます。
- Google Cloud プロジェクト。
- 次の両方の条件を満たす Google アカウント。
- データマネージャー API 関心フォームに記入した後、データマネージャー API へのアクセス権が付与されている。API プロダクトの詳細ページが表示されれば、アクセス権があります。
- Google Cloud プロジェクトに対する
serviceusage.services.enable
権限を持っているか、その権限を含むロールを持っている。たとえば、roles/owner
とroles/serviceusage.serviceUsageAdmin
の両方にserviceusage.services.enable
権限が含まれています。権限を確認するには、現在のアクセス権を表示するをご覧ください。
API を有効にする
まだ有効にしていない場合は、[データマネージャー API を有効にする] をクリックするか、手順に沿ってこの手順を手動で実行して、データマネージャー API を有効にします。
Data Manager API を有効にするデータマネージャー API が見つからない場合や、データマネージャー API の有効化に失敗した場合は、Google アカウントが前提条件を満たしていることを確認します。
認証を設定する
API キー以外の Google の認証方法を使用できます。ユースケースに適したアプローチを判断するには、ユースケースに適した認証方法を選択する方法を確認することをおすすめします。
一般的な認証方法には、ユーザー アカウントとサービス アカウントの 2 つがあります。
- ユーザー アカウント: Google API やサービスを直接操作するユーザーを表します。
- サービス アカウント: ユーザーとして人ではなくアプリを表します。これにより、アプリで認証と認可を管理できます。たとえば、アプリが Google Cloud リソースにアクセスする必要がある場合などです。
統合では、アプリケーションのデフォルト認証情報(ADC)を使用して環境から認証情報を自動的に検出できるため、認証を行うためにクライアント コードを変更する必要はありません。
ADC を設定するには、[ユーザー アカウント] または [サービス アカウントの権限借用] を選択します。
ユーザー アカウントの認証情報を使用して認証する手順は次のとおりです。
プロジェクトの Google Auth Platform の設定を構成します。
Google Cloud コンソールで [ブランディング] ページを開きます。
プロジェクトを選択します。
フォームに記入し、[作成] をクリックします。
Data Manager API スコープは機密性の高いスコープであるため、次の手順が必要です。
プロジェクトの [データアクセス] 設定に移動します。
[スコープを追加または削除] をクリックします。
スコープのリストで [Data Manager API] の横にあるチェックボックスをオンにして、[更新] をクリックします。
[保存] をクリックします。
Google Cloud コンソールの [オーディエンス] に移動し、[公開ステータス] と [ユーザータイプ] を更新します。これらの設定について詳しくは、アプリ ユーザーを管理するをご覧ください。
[OAuth2 クライアントを作成] をクリックしてプロジェクトに OAuth2 クライアントを作成するか、手順に沿ってデスクトップ OAuth2 クライアントを作成します。
最後の手順で、[クライアント構成をダウンロード] をクリックし、選択したダウンロード先をメモします。
次のコマンドを実行して、ローカル 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"
次のコマンドを使用して、認証情報が正しく設定されていることを確認します。成功すると、コマンドはアクセス トークンをコンソールに出力します。
gcloud auth application-default print-access-token
アプリの認証と認証情報の詳細については、Google での認証方法とアプリケーションのデフォルト認証情報の仕組みをご覧ください。
運用アカウントのアクセス権を設定する
ユーザー アカウントに関連付けられたメールアドレスにDestination
へのアクセス権を付与します。
- Google 広告アカウントまたはデータ パートナー アカウントを使用している場合は、手順に沿って、ユーザーのメールアドレスをアカウントに追加します。
- ディスプレイ&ビデオ 360 アカウントを使用している場合は、手順に沿って、ユーザーのメールアドレスをアカウントに追加します。
プログラミング言語の SDK を設定する
ローカルマシンに、選択した SDK をインストールします。
REST
- 次のサンプルのプレースホルダ(OPERATING_ACCOUNT_PRODUCT、OPERATING_ACCOUNT_ID、AUDIENCE_ID など)を、アカウントと宛先の値に置き換えます。
- PROJECT_ID は、Google Cloud の ID に置き換えます。
サンプルをコマンドラインにコピーして、リクエストを送信します。
確立された商品リンクを使用して
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": { "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
.NET
google-cloud-ads-datamanager-v1-csharp.tar.gz をダウンロードして解凍します。
.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" />
(省略可)ユーティリティ ライブラリとコードサンプルを取得します。
data-manager-dotnet.tar.gz をダウンロードして抽出します。
.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" />
データをフォーマットするには、.NET プロジェクトの
Formatter
ユーティリティを使用します。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
- google-cloud-ads-datamanager-v1-java.tar.gz をダウンロードして解凍します。
google-cloud-ads-datamanager-v1-java
ディレクトリに移動します。次のコマンドを実行して、Maven または Gradle で使用するためにライブラリをビルドし、ローカル Maven リポジトリに公開します。
./gradlew -Pversion=0.1.0 install
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>
(省略可)ユーティリティ ライブラリとコードサンプルを取得します。
GitHub リポジトリのクローンを作成します。
git clone https://github.com/googleads/data-manager-java.git
data-manager-java
ディレクトリに移動します。ユーティリティ ライブラリをビルドして、ローカルの Maven リポジトリに公開します。
./gradlew data-manager-util:install
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>
データをフォーマットして暗号化するには、Java プロジェクトで
UserDataFormatter
ユーティリティとEncrypter
ユーティリティを使用します。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
- ads-datamanager-v1-py.tar.gz をダウンロードします。
- ダウンロードしたファイルのディレクトリに移動します。
次のコマンドを実行して、ライブラリをビルドし、同じ Python 環境内の他のプロジェクトで使用できるようにします。
pip install ./ads-datamanager-v1-py.tar.gz
Python プロジェクトで、Data Manager API ライブラリの依存関係を宣言します。たとえば、プロジェクトで
requirements.txt
ファイルを使用している場合は、次の行をファイルに追加します。google-ads-data-manager=0.1.0
(省略可)ユーティリティ ライブラリとコードサンプルを取得します。
- data-manager-python.tar.gz をダウンロードして抽出します。
data-manager-python
ディレクトリに移動します。Python 環境にユーティリティ ライブラリをインストールするには、次のコマンドを実行します。
pip install .
Python プロジェクトで、ユーティリティ ライブラリへの依存関係を宣言します。たとえば、プロジェクトで
requirements.txt
ファイルを使用している場合は、ファイルに次の行を追加します。google-ads-data-manager-util=0.1.0
データをフォーマットして暗号化するには、Python プロジェクトで
Formatter
ユーティリティとEncrypter
ユーティリティを使用します。samples
サブディレクトリでコードサンプルを参照します。サンプルを実行するときに--help
引数を渡すと、想定されるパラメータを含む使用方法のステートメントが出力されます。サンプルデータを使用して開始するには、
samples/sampledata/audience_members_1.csv
のファイルを使用します。
Node.js
- ads-datamanager-v1-nodejs.tar.gz をダウンロードして展開します。
ads-datamanager-v1-nodejs
ディレクトリに移動します。次のコマンドを実行して、ライブラリをコンパイルし、
npm
で使用する.tgz
ファイルにパックします。npm install npm pack
このコマンドにより、
google-cloud-datamanager-0.1.0.tgz
という名前のアーカイブが生成されます。Node.js プロジェクトで、
google-cloud-datamanager-0.1.0.tgz
ファイルのフルパスとファイル名のdependencies
エントリを追加して、Data Manager API ライブラリへの依存関係を宣言します。
PHP
- google-cloud-ads-datamanager-v1-php.tar.gz をダウンロードして展開します。
google-cloud-ads-datamanager-v1-php
ディレクトリに移動します。次のコマンドを実行して、ライブラリの依存関係を解決します。
composer update --prefer-dist
同じホスト上の PHP プロジェクトの
composer.json
ファイルで、次の手順に沿って Data Manager API ライブラリの依存関係を宣言します。google-cloud-ads-datamanager-v1-php
ディレクトリの場所を指すrepositories
セクションを追加します。"repositories" : [ { "type" : "path", "url" : "PATH_TO_CLIENT_LIBRARY" } ]
データマネージャー API ライブラリの依存関係を宣言します。
"require": { "googleads/data-manager": "^0.1.0" }
(省略可)ユーティリティ ライブラリとコードサンプルを取得します。
- data-manager-php.tar.gz をダウンロードして抽出します。
data-manager-php
ディレクトリに移動します。次のコマンドを実行して、ライブラリの依存関係を解決します。
composer update --prefer-dist
同じホスト上の PHP プロジェクトの
composer.json
ファイルで、次の手順に沿ってユーティリティ ライブラリの依存関係を宣言します。data-manager-php
ディレクトリの場所を指すエントリをrepositories
セクションに追加します。"repositories" : [ { "type" : "path", "url" : "PATH_TO_UTILITY_LIBRARY" } ]
ユーティリティ ライブラリへの依存関係を宣言します。
"require": { "googleads/data-manager-util": "@dev" }
データをフォーマットするには、PHP プロジェクトで
Formatter
ユーティリティを使用します。samples
サブディレクトリでコードサンプルを参照します。次の手順でサンプルを実行します。samples
ディレクトリに移動します。DATA_MANAGER_PHP_LIB
環境変数を、クライアント ライブラリを抽出したパスに設定します。export DATA_MANAGER_PHP_LIB="PATH_TO_CLIENT_LIBRARY"
次のコマンドを実行して、ライブラリの依存関係を解決します。
composer update --prefer-dist
必要な引数を渡してサンプルを実行します。サンプルを実行するときに
--help
引数を渡して、想定されるパラメータを含む使用状況ステートメントを出力します。
サンプルデータを使用して開始するには、
samples/sampledata/audience_members_1.csv
のファイルを使用します。
次のステップ
- 詳しくは、オーディエンス データの送信をご覧ください。
- 詳しくは、イベントの送信をご覧ください。
- REST または RPC のリファレンス ドキュメントを参照します。