วิธีตั้งค่าสิทธิ์เข้าถึง Data Manager API ด้วย SDK หรือ REST มีดังนี้
ข้อกำหนดเบื้องต้น
ก่อนที่จะใช้ Data API ได้ โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้
- โปรเจ็กต์ Google Cloud
- บัญชี Google ที่ตรงตามเกณฑ์ทั้ง 2 ข้อต่อไปนี้
- ได้รับสิทธิ์เข้าถึง Data Manager API หลังจากที่คุณกรอกแบบฟอร์มแสดงความสนใจ Data Manager API หากเห็นหน้าข้อมูลผลิตภัณฑ์ API แสดงว่าคุณมีสิทธิ์เข้าถึง
- มี
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 สำหรับเดสก์ท็อป
ในขั้นตอนสุดท้าย ให้คลิกดาวน์โหลดการกำหนดค่าไคลเอ็นต์และจดบันทึก ตำแหน่งที่ตั้งของการดาวน์โหลดที่คุณเลือก
สร้างไฟล์ 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": { "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 ให้ประกาศ
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 ให้ประกาศ
ProjectReference
Dependency ใน ไลบรารียูทิลิตี แทนที่ 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.gz
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 ในเครื่องเพื่อใช้กับ Maven หรือ Gradle
./gradlew -Pversion=0.1.0 install
ในโปรเจ็กต์ Java ให้ประกาศทรัพยากร Dependency ในไลบรารี 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 ให้ประกาศทรัพยากร 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เช่น คำสั่งต่อไปนี้จะเรียกใช้
IngestAudienceMembers
sample และพิมพ์คำชี้แจงการใช้งาน./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 ให้ประกาศทรัพยากร 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
เพื่อใช้กับnpm
npm install npm pack
คำสั่งจะสร้างที่เก็บถาวรชื่อ
google-cloud-datamanager-0.1.0.tgz
ในโปรเจ็กต์ Node.js ให้ประกาศการขึ้นต่อกันในไลบรารี Data Manager API โดยการเพิ่มรายการ
dependencies
สำหรับเส้นทางและชื่อไฟล์แบบเต็ม ของไฟล์google-cloud-datamanager-0.1.0.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.0" }
(ไม่บังคับ) รับไลบรารียูทิลิตีและตัวอย่างโค้ด
- ดาวน์โหลดและแตกไฟล์ 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