以下說明如何使用 SDK 或 REST 設定 Data Manager API 的存取權。
必要條件
使用 Data API 前,請先確認下列事項:
- Google Cloud 專案。
- 在 Google Cloud 專案中具有
serviceusage.services.enable權限的 Google 帳戶,或具有包含該權限的角色。舉例來說,roles/owner和roles/serviceusage.serviceUsageAdmin都包含serviceusage.services.enable權限。如要查看權限,請參閱「查看目前的存取權」。
啟用 API
如果尚未啟用 Data Manager API,請按一下「啟用 Data Manager API」,或按照操作說明手動執行這個步驟。
啟用 Data Manager API如果找不到 Data Manager API 或無法啟用 Data Manager API,請確認您的 Google 帳戶符合必要條件。
設定驗證方法
除了 API 金鑰,您也可以使用Google 的任何驗證方法。建議您參閱「為您的用途選擇合適的驗證方法」,決定適合您用途的方法。
- 使用者帳戶:代表直接與 Google API 和服務互動的人員。
- 服務帳戶:代表應用程式 (而非使用者) 存取資源。應用程式可透過這些 API 管理驗證和授權。例如,如果一個應用程式需要存取 Google Cloud 資源。
您的整合項目可以使用應用程式預設憑證 (ADC),自動從環境中尋找憑證,因此您不必變更用戶端程式碼來進行驗證。
選擇使用者帳號或服務帳號模擬來設定 ADC:
以下是使用 使用者帳戶憑證進行驗證的步驟:
為您的專案配置 Google Auth Platform 設定。
在 Google Cloud 控制台中開啟 品牌頁面。
選取專案。
填寫表格並點選建立。
由於 Data Manager API 範圍屬於機密範圍,因此必須執行下列步驟:
按一下 建立 OAuth2 用戶端 在專案中建立 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 Ads 或資料合作夥伴帳戶,按照說明操作將使用者的電子郵件地址新增至帳戶。
- 如果使用 Display & Video 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": { "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
安裝用戶端程式庫
請依照 .NET 用戶端程式庫安裝指南 中的說明,在專案中新增對客戶端程式庫的依賴項。
(可選)取得實用程式庫和程式碼範例。
下載並解壓縮 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子目錄中的程式碼範例。切換到
samples目錄,然後使用dotnet run取得可用樣本清單。dotnet run執行範例時傳遞
--help引數,即可列印用法陳述式和預期參數。dotnet run -- 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 存放區,以搭配 Maven 或 Gradle 使用。
./gradlew install在 Java 專案中,宣告 Data Manager API 程式庫的依附元件。
Gradle:
implementation 'com.google.cloud:gapic-google-cloud-ads-datamanager-v1-java:0.1.4'Maven:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>gapic-google-cloud-ads-datamanager-v1-java</artifactId> <version>0.1.4</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 上的程式碼範例。如要從指令列執行範例,請使用 Gradlerun工作。舉例來說,下列指令會執行
IngestAudienceMembers範例,並列印用法陳述式:./gradlew data-manager-samples:run \ --args='IngestAudienceMembers --help'為了幫助您開始使用一些範例數據,請使用位於
data-manager-samples/src/main/resources/sampledata/audience_members_1.csv的檔案。
Node.js
安裝用戶端程式庫
- 下載並解壓縮 ads-datamanager-v1-nodejs.tar.gz。
- 前往
ads-datamanager-v1-nodejs目錄。 執行以下命令,將客戶端程式庫編譯並打包到
.tgz檔案中,以便與npm一起使用。npm pack這項指令會產生名為
google-cloud-datamanager-0.1.4.tgz的封存檔。請記下文件位置,以便在後續步驟中使用。在你的 Node.js 專案中,透過新增
dependencies條目來宣告對資料管理器 API 用戶端程式庫的依賴,該條目包含google-cloud-datamanager-0.1.4.tgz檔案的完整路徑和檔案名稱。{ "dependencies": { ... "@google-cloud/datamanager": "file:PATH_TO_CLIENT_LIBRARY/google-cloud-datamanager-0.1.4.tgz", ... } }
選用:取得公用程式庫和程式碼範例。
- 下載並解壓縮 data-manager-node.tar.gz。
- 前往
data-manager-node目錄。 切換至
util目錄。cd util執行以下命令,將實用程式庫編譯並打包到
.tgz檔案中,以便與npm一起使用。npm pack這個指令會產生一個名為
google-ads-datamanager-util-0.1.0.tgz的歸檔檔。 請記下文件位置,以便在後續步驟中使用。在 Node.js 專案中,為 Data Manager API 公用程式庫宣告依附元件,方法是為
google-ads-datamanager-util-0.1.0.tgz檔案的完整路徑和檔案名稱新增dependencies項目。{ "dependencies": { ... "@google-ads/data-manager-util": "file:PATH_TO_UTILITY_LIBRARY/google-ads-datamanager-util-0.1.0.tgz", ... } }若要格式化數據,請在 Node.js 專案中使用
UserDataFormatter工具。瀏覽
samples子目錄中的程式碼範例。請依照以下步驟運行範例:將
google-cloud-datamanager-0.1.4.tgz複製到data-manager-node目錄的父項目錄。導航至
data-manager-node下的samples目錄。執行下列指令來編譯範例。
npm run compile運行範例,並傳遞任何必要的參數。執行範例時傳遞
--help參數,以列印帶有預期參數的使用說明。例如,以下命令執行
ingest_audience_members範例並列印用法說明:npx ts-node audiences/ingest_audience_members.ts --help
如要開始使用一些範例資料,請使用
samples/sampledata/audience_members_1.csv中的檔案。
PHP
安裝用戶端程式庫
- 下載並解壓縮 google-cloud-ads-datamanager-v1-php.tar.gz。
- 前往
google-cloud-ads-datamanager-v1-php目錄。 執行以下命令來解決庫的依賴關係:
composer update --prefer-dist在同一主機上的 PHP 專案的
composer.json檔案中,請依照下列步驟聲明對資料管理器 API 庫的依賴:新增
repositories區段,指向google-cloud-ads-datamanager-v1-php目錄的位置。"repositories" : [ { "type" : "path", "url" : "PATH_TO_CLIENT_LIBRARY" } ]聲明對資料管理器 API 庫的依賴關係。
"require": { "googleads/data-manager": "0.1.4" }
(可選)取得實用程式庫和程式碼範例。
- 下載並解壓縮 data-manager-php.tar.gz。
- 前往
data-manager-php目錄。 執行以下命令來解決庫的依賴關係:
composer update --prefer-dist在同一主機上的 PHP 專案的
composer.json檔案中,請依照下列步驟聲明對實用程式庫的依賴項:在
repositories部分中新增一個指向data-manager-php目錄位置的項目。"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的檔案。
Python
安裝用戶端程式庫
請依照 Python 用戶端程式庫安裝指南 中的說明,在您的專案中新增對 google-ads-datamanager 用戶端程式庫的依賴項。
(可選)取得實用程式庫和程式碼範例。
- 下載並解壓縮 data-manager-python.tar.gz。
- 前往
data-manager-python目錄。 如要在 Python 環境中安裝公用程式庫,請執行下列指令:
pip install .在你的 Python 專案中,聲明對實用程式庫的依賴關係。 舉例來說,如果您在專案中使用
requirements.txt檔案,請在檔案中新增下列程式碼:google-ads-data-manager-util=0.2.0若要格式化和加密數據,請在 Python 專案中使用
Formatter和Encrypter工具。瀏覽
samples子目錄中的程式碼範例。若要執行範例,請安裝必要的依賴項:pip install .[samples]執行範例時傳遞
--help參數,以列印帶有預期參數的使用說明。如要開始使用一些範例資料,請使用
samples/sampledata/audience_members_1.csv中的檔案。
Ruby
安裝用戶端程式庫
請依照 Ruby 用戶端程式庫安裝指南 中的說明,在您的專案中新增對客戶端程式庫的依賴項。