วิธีการตั้งค่าการเข้าถึง Data Manager API ด้วย SDK หรือ REST มีดังนี้
ข้อกำหนดเบื้องต้น
ก่อนที่จะใช้ Data API ได้ โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้
- โปรเจ็กต์ Google Cloud
- บัญชี Google ที่มีสิทธิ์
serviceusage.services.enableในโปรเจ็กต์ Google Cloud หรือมีบทบาทที่มีสิทธิ์ดังกล่าว ตัวอย่างเช่น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 เป็นไปตามข้อกำหนดเบื้องต้น
ตั้งค่าการตรวจสอบสิทธิ์
คุณสามารถใช้วิธีการตรวจสอบสิทธิ์ที่ Google นอกเหนือจากคีย์ API ได้ เราขอแนะนำให้คุณดูวิธีเลือกวิธีการตรวจสอบสิทธิ์ที่เหมาะสมสำหรับกรณีการใช้งานของคุณ เพื่อพิจารณาว่าแนวทางใดที่เหมาะสมกับกรณีการใช้งานของคุณ
วิธีการตรวจสอบสิทธิ์ทั่วไปสองวิธีคือ บัญชีผู้ใช้ และ บัญชีบริการ:
- บัญชีผู้ใช้: แสดงถึงผู้ที่โต้ตอบกับ Google API และ บริการโดยตรง
- บัญชีบริการ: แสดงแอป ไม่ใช่ผู้ใช้ ซึ่งช่วยให้ แอปของคุณจัดการการตรวจสอบสิทธิ์และการให้สิทธิ์ได้ ตัวอย่างเช่น หากแอปจำเป็นต้องเข้าถึงทรัพยากร Google Cloud
การผสานรวมของคุณสามารถใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อ ค้นหาข้อมูลเข้าสู่ระบบจากสภาพแวดล้อมโดยอัตโนมัติ คุณจึงไม่ต้องเปลี่ยน โค้ดไคลเอ็นต์เพื่อตรวจสอบสิทธิ์
เลือกบัญชีผู้ใช้หรือการแอบอ้างเป็นบัญชีบริการเพื่อตั้งค่า ADC
ต่อไปนี้เป็นขั้นตอนในการตรวจสอบสิทธิ์ด้วยข้อมูลประจำตัวบัญชีผู้ใช้:
กำหนดค่าการตั้งค่า Google Auth Platform สำหรับโปรเจ็กต์
เปิดหน้าการสร้างแบรนด์ใน Google Cloud Console
เลือกโปรเจ็กต์
กรอกแบบฟอร์มและคลิกสร้าง
เนื่องจากขอบเขตของ Data Manager API เป็นขอบเขตที่ละเอียดอ่อน จึงจำเป็นต้องดำเนินการตามขั้นตอนต่อไปนี้:
ไปที่การตั้งค่าการเข้าถึงข้อมูลสำหรับโครงการของคุณ
คลิกเพิ่มหรือลบขอบเขต
เลือกช่องข้าง Data Manager API ในรายการขอบเขต แล้วคลิกอัปเดต
คลิกบันทึก
ไปที่ผู้ชมใน Google Cloud Console และอัปเดตสถานะการเผยแพร่และประเภทผู้ใช้ เรียนรู้เพิ่มเติมเกี่ยวกับการตั้งค่าเหล่านี้ได้ในจัดการกลุ่มเป้าหมายแอป
คลิกสร้างไคลเอนต์ OAuth2 เพื่อสร้างไคลเอนต์ OAuth2 ในโครงการ หรือทำตามคำแนะนำเพื่อสร้างไคลเอนต์ OAuth2 เดสก์ท็อป
สร้างไคลเอ็นต์ OAuth2ในขั้นตอนสุดท้าย ให้คลิก ดาวน์โหลดการกำหนดค่าไคลเอนต์ และจดบันทึกตำแหน่งการดาวน์โหลดที่คุณเลือก
สร้างไฟล์ ADC ในเครื่องโดยรันคำสั่งต่อไปนี้ คำสั่งนี้จะเปิดเว็บโฟลว์โดยคุณจะได้รับแจ้งให้เข้าสู่ระบบบัญชี Google ที่คุณใช้กับ API
แทนที่ 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
คัดลอกตัวอย่างไปยังบรรทัดคำสั่งเพื่อส่งคำขอ
นำแอตทริบิวต์
linkedAccountของรายการในdestinationsออกหากคุณไม่ได้เข้าถึงoperatingAccountโดยใช้ลิงก์ผลิตภัณฑ์ที่สร้างไว้#!/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จากdata-manager-dotnet.tar.gz<ProjectReference Include="PATH_TO_UTILITY_LIBRARY\Google.Ads.DataManager.Util\src\Google.Ads.DataManager.Util.csproj" />หากต้องการจัดรูปแบบข้อมูล ให้ใช้ยูทิลิตี้
Formatterในโปรเจ็กต์ .NET ของคุณเรียกดูตัวอย่างโค้ดในไดเร็กทอรีย่อย
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
เกรเดิล:
implementation 'com.google.cloud:gapic-google-cloud-ads-datamanager-v1-java:0.1.4'เมเวน:
<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 ของคุณ ประกาศการอ้างอิงบนไลบรารียูทิลิตี้
เกรเดิล:
implementation 'com.google.api-ads:data-manager-util:0.1.0'เมเวน:
<dependency> <groupId>com.google.api-ads</groupId> <artifactId>data-manager-util</artifactId> <version>0.1.0</version> </dependency>หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี้
UserDataFormatterและEncrypterในโปรเจ็กต์ Java ของคุณเรียกดูตัวอย่างโค้ดในไดเร็กทอรีย่อย
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เพื่อใช้กับnpmnpm packคำสั่งจะสร้างที่เก็บถาวรชื่อ
google-cloud-datamanager-0.1.4.tgzจดตำแหน่งไฟล์ไว้เพื่อใช้ในขั้นตอนถัดไปในโครงการ Node.js ของคุณ ให้ประกาศการอ้างอิงบนไลบรารีไคลเอนต์ API ของ Data Manager โดยเพิ่มรายการ
dependenciesสำหรับเส้นทางเต็มและชื่อไฟล์ของไฟล์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 เปลี่ยนเป็นไดเร็กทอรี
utilcd utilเรียกใช้คำสั่งต่อไปนี้เพื่อคอมไพล์และแพ็คไลบรารียูทิลิตี้ลงในไฟล์
.tgzเพื่อใช้กับnpmnpm packคำสั่งนี้จะสร้างไฟล์เก็บถาวรชื่อ
google-ads-datamanager-util-0.1.0.tgzจดบันทึกตำแหน่งของไฟล์เพื่อให้คุณสามารถใช้ในขั้นตอนถัดไปในโปรเจ็กต์ Node.js ให้ประกาศการอ้างอิงในไลบรารียูทิลิตี Data Manager API โดยการเพิ่มรายการ
dependenciesสำหรับเส้นทางแบบเต็มและชื่อไฟล์ของไฟล์google-ads-datamanager-util-0.1.0.tgz{ "dependencies": { ... "@google-ads/data-manager-util": "file:PATH_TO_UTILITY_LIBRARY/google-ads-datamanager-util-0.1.0.tgz", ... } }หากต้องการจัดรูปแบบข้อมูล ให้ใช้ยูทิลิตี
UserDataFormatterในโปรเจ็กต์ Node.jsเรียกดูตัวอย่างโค้ดในไดเร็กทอรีย่อย
samplesรันตัวอย่างโดยใช้ขั้นตอนต่อไปนี้:คัดลอก
google-cloud-datamanager-0.1.4.tgzไปยังไดเร็กทอรีหลักของไดเร็กทอรีdata-manager-nodeไปที่ไดเรกทอรี
samplesในdata-manager-nodeรันคำสั่งต่อไปนี้เพื่อคอมไพล์ตัวอย่าง
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 เรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขทรัพยากร Dependency สำหรับไลบรารี
composer update --prefer-distในไฟล์
composer.jsonของโปรเจ็กต์ PHP ในโฮสต์เดียวกัน ให้ประกาศ การอ้างอิงไลบรารี Data Manager API โดยทำตามขั้นตอนต่อไปนี้เพิ่มส่วน
repositoriesที่ชี้ไปยังตำแหน่งของไดเร็กทอรีgoogle-cloud-ads-datamanager-v1-php"repositories" : [ { "type" : "path", "url" : "PATH_TO_CLIENT_LIBRARY" } ]ประกาศทรัพยากร Dependency ในไลบรารี Data Manager API
"require": { "googleads/data-manager": "0.1.4" }
ไม่บังคับ: รับไลบรารียูทิลิตีและตัวอย่างโค้ด
- ดาวน์โหลดและแตกไฟล์ data-manager-php.tar.gz
- ไปที่ไดเรกทอรี
data-manager-php เรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขทรัพยากร Dependency สำหรับไลบรารี
composer update --prefer-distในไฟล์
composer.jsonของโปรเจ็กต์ PHP ในโฮสต์เดียวกัน ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตีโดยทำตามขั้นตอนต่อไปนี้เพิ่มรายการในส่วน
repositoriesที่ชี้ไปยังตำแหน่งของไดเรกทอรีdata-manager-php"repositories" : [ { "type" : "path", "url" : "PATH_TO_UTILITY_LIBRARY" } ]ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี
"require": { "googleads/data-manager-util": "@dev" }
หากต้องการจัดรูปแบบข้อมูล ให้ใช้ยูทิลิตี
Formatterในโปรเจ็กต์ PHPเรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย
samplesรันตัวอย่างโดยใช้ขั้นตอนต่อไปนี้:นำทางไปยังไดเร็กทอรี
samplesตั้งค่าตัวแปรสภาพแวดล้อม
DATA_MANAGER_PHP_LIBให้เป็นเส้นทางที่คุณแยกไลบรารีไคลเอนต์export DATA_MANAGER_PHP_LIB="PATH_TO_CLIENT_LIBRARY"เรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขทรัพยากร Dependency สำหรับไลบรารี
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 ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี ตัวอย่างเช่น หากใช้ไฟล์
requirements.txtในโปรเจ็กต์ ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์google-ads-data-manager-util=0.2.0หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี้
FormatterและEncrypterในโครงการ Python ของคุณเรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย
samplesหากต้องการเรียกใช้ตัวอย่าง ให้ติดตั้ง การอ้างอิงที่จำเป็นpip install .[samples]ส่งอาร์กิวเมนต์
--helpเมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์คำสั่งการใช้งาน พร้อมพารามิเตอร์ที่คาดไว้เพื่อช่วยให้คุณเริ่มต้นด้วยข้อมูลตัวอย่าง ให้ใช้ไฟล์ที่
samples/sampledata/audience_members_1.csv
Ruby
ติดตั้งไลบรารีของไคลเอ็นต์
ทำตามวิธีการในคู่มือการติดตั้งไลบรารีของไคลเอ็นต์ Ruby เพื่อเพิ่มการอ้างอิงไปยังไลบรารีของไคลเอ็นต์ในโปรเจ็กต์
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งข้อมูลกลุ่มเป้าหมาย
- เรียนรู้เพิ่มเติมเกี่ยวกับการส่งเหตุการณ์
- เรียกดูเอกสารอ้างอิง REST หรือ RPC