วิธีตั้งค่าสิทธิ์เข้าถึง 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 ได้ เราขอแนะนำให้คุณดูวิธีเลือกวิธีการตรวจสอบสิทธิ์ที่เหมาะสมสำหรับกรณีการใช้งานของคุณ เพื่อพิจารณาว่าแนวทางใดที่เหมาะสมกับกรณีการใช้งานของคุณ
วิธีการตรวจสอบสิทธิ์ที่ใช้กันโดยทั่วไป 2 วิธีคือบัญชีผู้ใช้และบัญชีบริการ
- บัญชีผู้ใช้: แสดงถึงผู้ที่โต้ตอบกับ 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
ดาวน์โหลดและแตกไฟล์ google-cloud-ads-datamanager-v1-csharp.tar.gz
ในโปรเจ็กต์ .NET ให้ประกาศ
ProjectReferenceการอ้างอิงไลบรารี Data Manager API แทนที่ PATH_TO_CLIENT_LIBRARY ด้วยตำแหน่งที่คุณแยกไดเรกทอรีgoogle-cloud-ads-datamanager-v1-csharpจากgoogle-cloud-ads-datamanager-v1-csharp.tar.gz<ProjectReference Include="PATH_TO_CLIENT_LIBRARY\Google.Ads.DataManager.V1\Google.Ads.DataManager.V1.csproj" />ไม่บังคับ รับไลบรารียูทิลิตีและตัวอย่างโค้ด
ดาวน์โหลดและแตกไฟล์ data-manager-dotnet.tar.gz
ในโปรเจ็กต์ .NET ให้ประกาศ
ProjectReferenceDependency ใน ไลบรารียูทิลิตี แทนที่ 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หากต้องการเรียกใช้โค้ดตัวอย่าง ให้ตั้งค่าตัวแปร
DATA_MANAGER_DOTNET_LIBสภาพแวดล้อม เป็นตำแหน่งที่คุณแตกไดเรกทอรีgoogle-cloud-ads-datamanager-v1-csharpจากgoogle-cloud-ads-datamanager-v1-csharp.tar.gzexport 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 ในเครื่องเพื่อใช้กับ Maven หรือ Gradle
./gradlew installในโปรเจ็กต์ Java ให้ประกาศทรัพยากร Dependency ในไลบรารี Data Manager API
Gradle:
implementation 'com.google.cloud:gapic-google-cloud-ads-datamanager-v1-java:0.1.3'Maven:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>gapic-google-cloud-ads-datamanager-v1-java</artifactId> <version>0.1.3</version> </dependency>ไม่บังคับ รับไลบรารียูทิลิตีและตัวอย่างโค้ด
โคลนที่เก็บ GitHub
git clone https://github.com/googleads/data-manager-java.gitไปที่ไดเรกทอรี
data-manager-javaสร้างและเผยแพร่ไลบรารียูทิลิตีไปยังที่เก็บ Maven ในเครื่อง
./gradlew data-manager-util:installในโปรเจ็กต์ Java ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี
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>หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี
UserDataFormatterและEncrypterในโปรเจ็กต์ Javaเรียกดูตัวอย่างโค้ดใน
data-manager-samplesไดเรกทอรีย่อยหรือบน GitHub หากต้องการเรียกใช้ตัวอย่างจากบรรทัดคำสั่ง ให้ใช้runงาน Gradleเช่น คำสั่งต่อไปนี้จะเรียกใช้
IngestAudienceMemberssample และพิมพ์คำชี้แจงการใช้งาน./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.3ไม่บังคับ รับไลบรารียูทิลิตีและตัวอย่างโค้ด
- ดาวน์โหลดและแตกไฟล์ data-manager-python.tar.gz
- ไปที่ไดเรกทอรี
data-manager-python หากต้องการติดตั้งไลบรารียูทิลิตีในสภาพแวดล้อม Python ให้เรียกใช้คำสั่งต่อไปนี้
pip install .ในโปรเจ็กต์ Python ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี ตัวอย่างเช่น หากใช้ไฟล์
requirements.txtในโปรเจ็กต์ ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์google-ads-data-manager-util=0.1.0หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี
FormatterและEncrypterในโปรเจ็กต์ Pythonเรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย
samplesส่งอาร์กิวเมนต์--helpเมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์ข้อความการใช้งานพร้อมพารามิเตอร์ที่คาดไว้หากต้องการช่วยให้คุณเริ่มต้นใช้งานข้อมูลตัวอย่างได้ ให้ใช้ไฟล์ที่
samples/sampledata/audience_members_1.csv
Node.js
- ดาวน์โหลดและแตกไฟล์ ads-datamanager-v1-nodejs.tar.gz
- ไปที่ไดเรกทอรี
ads-datamanager-v1-nodejs เรียกใช้คำสั่งต่อไปนี้เพื่อคอมไพล์และแพ็กไลบรารีลงในไฟล์
.tgzเพื่อใช้กับnpmnpm install npm packคำสั่งจะสร้างที่เก็บถาวรชื่อ
google-cloud-datamanager-0.1.3.tgzในโปรเจ็กต์ Node.js ให้ประกาศการขึ้นต่อกันในไลบรารี Data Manager API โดยการเพิ่มรายการ
dependenciesสำหรับเส้นทางและชื่อไฟล์แบบเต็ม ของไฟล์google-cloud-datamanager-0.1.3.tgz
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.3" }
(ไม่บังคับ) รับไลบรารียูทิลิตีและตัวอย่างโค้ด
- ดาวน์โหลดและแตกไฟล์ 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
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งข้อมูลกลุ่มเป้าหมาย
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งเหตุการณ์
- เรียกดูเอกสารประกอบข้อมูลอ้างอิงของ REST หรือ RPC