วิธีติดตั้งและกำหนดค่าไลบรารีของไคลเอ็นต์หรือ REST มีดังนี้
ข้อกำหนดเบื้องต้น
ก่อนติดตั้งไลบรารีของไคลเอ็นต์ ให้ทำตามขั้นตอนใน ตั้งค่าการเข้าถึง API รวมถึง กำหนดค่าข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC)
ขั้นตอนการติดตั้ง
ติดตั้งไลบรารีของไคลเอ็นต์ที่ต้องการในเครื่องของคุณโดยทำดังนี้
REST
- อัปเดตตัวยึดตำแหน่งในตัวอย่างต่อไปนี้ เช่น OPERATING_ACCOUNT_PRODUCT, OPERATING_ACCOUNT_ID, และ AUDIENCE_ID, ด้วยค่าสำหรับบัญชีและปลายทาง
- แทนที่ PROJECT_ID ด้วยรหัสของ Google Cloud
คัดลอกตัวอย่างไปยังบรรทัดคำสั่งเพื่อส่งคำขอ ใช้ตัวอย่างพาร์ทเนอร์ด้านข้อมูล ก็ต่อเมื่อคุณเข้าถึงบัญชีที่ใช้งานผ่านลิงก์พาร์ทเนอร์ ไม่เช่นนั้นให้ใช้ตัวอย่างผู้ลงโฆษณา
ผู้ลงโฆษณา
#!/bin/bash # Uses gcloud to get an access token. If the Application Default # Credentials aren't for a service account then the command that # specifies --scopes fails, so 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" }, "productDestinationId": "AUDIENCE_ID" } ], "audienceMembers": [ { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3" }, { "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3" }, { "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51" }, { "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0" }, { "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f" }, { "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4" } ] } } } ], "consent": { "adUserData": "CONSENT_GRANTED", "adPersonalization": "CONSENT_GRANTED" }, "encoding": "HEX", "termsOfService": { "customerMatchTermsOfServiceStatus": "ACCEPTED" }, "validateOnly": true } EOFพาร์ทเนอร์ด้านข้อมูล
#!/bin/bash # Uses gcloud to get an access token. If the Application Default # Credentials aren't for a service account then the command that # specifies --scopes fails, so 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": [ { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3" }, { "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3" }, { "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51" }, { "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0" }, { "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f" }, { "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4" } ] } } } ], "consent": { "adUserData": "CONSENT_GRANTED", "adPersonalization": "CONSENT_GRANTED" }, "encoding": "HEX", "termsOfService": { "customerMatchTermsOfServiceStatus": "ACCEPTED" }, "validateOnly": true } EOF
.NET
ติดตั้งไลบรารีของไคลเอ็นต์
ทำตามวิธีการในคู่มือการติดตั้งไลบรารีของไคลเอ็นต์ .NET เพื่อเพิ่มทรัพยากร Dependency ลงในไลบรารีของไคลเอ็นต์ใน โปรเจ็กต์
ไม่บังคับ: รับไลบรารียูทิลิตีและตัวอย่างโค้ด
โคลนที่เก็บ GitHub repository
git clone https://github.com/googleads/data-manager-dotnet.gitในโปรเจ็กต์ .NET ให้ประกาศทรัพยากร Dependency
ProjectReferenceในไลบรารียูทิลิตี แทนที่ PATH_TO_UTILITY_LIBRARY ด้วย ตำแหน่งที่คุณโคลนที่เก็บdata-manager-dotnet<ProjectReference Include="PATH_TO_UTILITY_LIBRARY\Google.Ads.DataManager.Util\src\Google.Ads.DataManager.Util.csproj" />หากต้องการจัดรูปแบบข้อมูล ให้ใช้ยูทิลิตี
Formatterในโปรเจ็กต์ .NETเรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย
samplesหรือ บน GitHubเปลี่ยนเป็นไดเรกทอรี
samplesแล้วใช้dotnet runเพื่อรับรายการตัวอย่างที่มีdotnet runส่งอาร์กิวเมนต์
--helpเมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์คำสั่งการใช้งานพร้อมพารามิเตอร์ที่คาดไว้dotnet run -- ingest-audience-members --helpใช้ไฟล์ที่
samples/sampledata/audience_members_1.csvเพื่อช่วยคุณเริ่มต้นใช้งานข้อมูลตัวอย่าง
Java
ติดตั้งไลบรารีของไคลเอ็นต์
ทำตามวิธีการในคู่มือ การติดตั้งไลบรารีของไคลเอ็นต์ Java เพื่อเพิ่มทรัพยากร Dependency ลงในไลบรารีของไคลเอ็นต์ใน โปรเจ็กต์
ไม่บังคับ: รับไลบรารียูทิลิตีและตัวอย่างโค้ด
โคลนที่เก็บ GitHub repository
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.2.0'Maven:
<dependency> <groupId>com.google.api-ads</groupId> <artifactId>data-manager-util</artifactId> <version>0.2.0</version> </dependency>หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี
UserDataFormatterและEncrypterในโปรเจ็กต์ Javaเรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย
data-manager-samplesหรือ บน GitHub หากต้องการเรียกใช้ตัวอย่างจากบรรทัดคำสั่ง ให้ใช้ Gradle Taskrunตัวอย่างเช่น คำสั่งต่อไปนี้จะเรียกใช้ตัวอย่าง
IngestAudienceMembersและพิมพ์คำสั่งการใช้งาน./gradlew data-manager-samples:run \ --args='IngestAudienceMembers --help'ใช้ไฟล์ที่
data-manager-samples/src/main/resources/sampledata/audience_members_1.csvเพื่อช่วยคุณเริ่มต้นใช้งานข้อมูลตัวอย่าง
Node.js
ติดตั้งไลบรารีของไคลเอ็นต์
ทำตามวิธีการในคู่มือ
การติดตั้งไลบรารีของไคลเอ็นต์ Node.js เพื่อเพิ่มทรัพยากร Dependency ลงในไลบรารีของไคลเอ็นต์
@google-ads/datamanager ในโปรเจ็กต์
ไม่บังคับ: รับไลบรารียูทิลิตีและตัวอย่างโค้ด
โคลนที่เก็บ GitHub repository
git clone https://github.com/googleads/data-manager-node.gitไปที่ไดเรกทอรี
data-manager-nodeเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งทรัพยากร Dependency
npm installเปลี่ยนเป็นไดเรกทอรี
utilcd utilเรียกใช้คำสั่งต่อไปนี้เพื่อคอมไพล์และแพ็กไลบรารียูทิลิตีลงในไฟล์
.tgzสำหรับใช้กับnpmnpm packคำสั่งจะสร้างไฟล์เก็บถาวรชื่อ
google-ads-datamanager-util-0.2.0.tgzจดตำแหน่งไฟล์ไว้เพื่อใช้ในขั้นตอนถัดไปในโปรเจ็กต์ Node.js ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี Data Manager API โดยเพิ่มรายการ
dependenciesสำหรับเส้นทางและชื่อไฟล์แบบเต็มของไฟล์google-ads-datamanager-util-0.2.0.tgz{ "dependencies": { ... "@google-ads/data-manager-util": "file:PATH_TO_UTILITY_LIBRARY/google-ads-datamanager-util-0.2.0.tgz", ... } }หากต้องการจัดรูปแบบข้อมูล ให้ใช้ยูทิลิตี
UserDataFormatterในโปรเจ็กต์ Node.jsเรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย
samplesหรือ บน GitHub เรียกใช้ตัวอย่างโดยทำตามขั้นตอนต่อไปนี้ไปที่ไดเรกทอรี
data-manager-nodeเรียกใช้ตัวอย่างโดยส่งอาร์กิวเมนต์ที่จำเป็น ส่งอาร์กิวเมนต์
--helpเมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์คำสั่งการใช้งานพร้อมพารามิเตอร์ที่คาดไว้ตัวอย่างเช่น คำสั่งต่อไปนี้จะเรียกใช้ตัวอย่าง
ingest_audience_membersและพิมพ์คำสั่งการใช้งานnpm run ingest-audience-members -w samples -- --help
ใช้ไฟล์ที่
samples/sampledata/audience_members_1.csvเพื่อช่วยคุณเริ่มต้นใช้งานข้อมูลตัวอย่าง
PHP
ติดตั้งไลบรารีของไคลเอ็นต์
ทำตามวิธีการในคู่มือ
การติดตั้งไลบรารีของไคลเอ็นต์ PHP เพื่อเพิ่มทรัพยากร Dependency ลงในไลบรารีของไคลเอ็นต์
googleads/data-manager ในโปรเจ็กต์
ไม่บังคับ: รับไลบรารียูทิลิตีและตัวอย่างโค้ด
โคลนที่เก็บ GitHub repository
git clone https://github.com/googleads/data-manager-php.gitไปที่ไดเรกทอรี
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หรือ บน GitHub เรียกใช้ตัวอย่างโดยทำตามขั้นตอนต่อไปนี้ไปที่ไดเรกทอรี
samplesเรียกใช้คำสั่งต่อไปนี้เพื่อแก้ปัญหาทรัพยากร Dependency สำหรับไลบรารี
composer update --prefer-distเรียกใช้ตัวอย่างโดยส่งอาร์กิวเมนต์ที่จำเป็น ส่งอาร์กิวเมนต์
--helpเมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์คำสั่งการใช้งานพร้อมพารามิเตอร์ที่คาดไว้
ใช้ไฟล์ที่
samples/sampledata/audience_members_1.csvเพื่อช่วยคุณเริ่มต้นใช้งานข้อมูลตัวอย่าง
Python
ติดตั้งไลบรารีของไคลเอ็นต์
ทำตามวิธีการในคู่มือ
การติดตั้งไลบรารีของไคลเอ็นต์ Python เพื่อเพิ่มทรัพยากร Dependency ลงในไลบรารีของไคลเอ็นต์
google-ads-datamanager ในโปรเจ็กต์
ไม่บังคับ: รับไลบรารียูทิลิตีและตัวอย่างโค้ด
โคลนที่เก็บ GitHub repository
git clone https://github.com/googleads/data-manager-python.gitไปที่ไดเรกทอรี
data-manager-pythonหากต้องการติดตั้งไลบรารียูทิลิตีในสภาพแวดล้อม Python ให้เรียกใช้คำสั่งต่อไปนี้
pip install .ในโปรเจ็กต์ Python ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี เช่น หากใช้ไฟล์
requirements.txtในโปรเจ็กต์ ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์google-ads-datamanager-util=0.2.0หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี
FormatterและEncrypterในโปรเจ็กต์ Pythonเรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย
samplesหรือ บน GitHub หากต้องการเรียกใช้ตัวอย่าง ให้ติดตั้งทรัพยากร Dependency ที่จำเป็นโดยทำดังนี้pip install .[samples]ส่งอาร์กิวเมนต์
--helpเมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์คำสั่งการใช้งานพร้อมพารามิเตอร์ที่คาดไว้ใช้ไฟล์ที่
samples/sampledata/audience_members_1.csvเพื่อช่วยคุณเริ่มต้นใช้งานข้อมูลตัวอย่าง
Ruby
ติดตั้งไลบรารีของไคลเอ็นต์
ทำตามวิธีการในคู่มือการติดตั้งไลบรารีของไคลเอ็นต์ Ruby เพื่อเพิ่มทรัพยากร Dependency ลงในไลบรารีของไคลเอ็นต์ใน โปรเจ็กต์
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งข้อมูลกลุ่มเป้าหมาย
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งเหตุการณ์
- เรียกดูเอกสารอ้างอิง REST หรือ RPC