כך מגדירים גישה ל-Data Manager API באמצעות SDK או REST.
דרישות מוקדמות
לפני שמשתמשים ב-Data API, צריך לוודא שיש לכם את הדברים הבאים:
- פרויקט ב-Google Cloud.
- חשבון Google שעומד בשני הקריטריונים הבאים:
- קיבלת גישה ל-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, כדאי לוודא שחשבון Google שלכם עומד בדרישות המוקדמות.
מגדירים אימות
בוחרים שיטת אימות ומגדירים אותה. מומלץ להגדיר את Application Default Credentials כדי למצוא באופן אוטומטי את פרטי הכניסה מהסביבה. ה-API הזה לא משתמש במפתחות API.
ההיקף https://www.googleapis.com/auth/datamanager
נדרש לכל פרטי כניסה שמשמשים עם Data Manager API. דוגמה לשימוש בהיקפי הרשאות מופיעה במאמר בנושא הפקודה gcloud auth application-default login.
למידע נוסף על אימות ופרטי כניסה לאפליקציה, אפשר לעיין במאמרים שיטות אימות ב-Google והסבר על Application Default Credentials.
הגדרת גישה לחשבון הפעלה
נותנים לכתובת האימייל שמשויכת למשתמש או לחשבון השירות גישה אל Destination
.
הגדרת ה-SDK לשפת התכנות
במחשב המקומי, מתקינים את ה-SDK הרצוי:
REST
- צריך לעדכן את ה-placeholders בדוגמה הבאה, כמו 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
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, מצהירים על תלות בספריית 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, מצהירים על תלות בספריית כלי השירות.
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
ומדפיסה הצהרת שימוש:./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, מצהירים על תלות בספריית כלי השירות. לדוגמה, אם משתמשים בקובץ
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
. מריצים את הפקודה הבאה כדי לפתור את יחסי התלות של הספרייה:
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" } ]
מצהירים על תלות בספריית Data Manager API.
"require": { "googleads/data-manager": "^0.1.0" }
(אופציונלי) אפשר להוריד את ספריית כלי העזר ואת דוגמאות הקוד.
- מורידים ומחלצים את הקובץ data-manager-php.tar.gz.
- מנווטים לספרייה
data-manager-php
. מריצים את הפקודה הבאה כדי לפתור את יחסי התלות של הספרייה:
composer update --prefer-dist
בקבצים
composer.json
של פרויקט ה-PHP באותו מארח, צריך להצהיר על תלות בספריית כלי השירות באמצעות השלבים הבאים:מוסיפים רשומה בקטע
repositories
שמפנה למיקום של ספרייתdata-manager-php
."repositories" : [ { "type" : "path", "url" : "PATH_TO_UTILITY_LIBRARY" } ]
מצהירים על תלות בספריית כלי העזר.
"require": { "googleads/data-manager-util": "@dev" }
כדי לעצב נתונים, משתמשים בכלי
Formatter
בפרויקט PHP.דוגמאות קוד נמצאות בספריית המשנה
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
.
השלבים הבאים
- מידע נוסף על שליחת נתוני קהלים
- מידע נוסף על שליחת אירועים
- אפשר לעיין בחומרי העזר של REST או RPC.