במדריך הזה מוסבר איך לגשת אל Google Ads API באמצעות חשבונות שירות.
חשבון שירות הוא חשבון ששייך לאפליקציה ולא למשתמש קצה ספציפי. חשבונות שירות משתמשים בהרשאה באמצעות OAuth 2.0 שלא דורשת הרשאה אנושית, אלא בקובץ מפתח שהגישה אליו מותרת רק לאפליקציה שלכם.
לשימוש בחשבונות שירות יש שני יתרונות מרכזיים:
ההרשאה לגישה ל-Google Ads API לחשבונות Google Ads מתבצעת כשלב בהגדרה, תוך שימוש בתכונות ההרשאה וניהול החשבון שמוצעות בממשק המשתמש של Google Ads. כך המפתחים לא צריכים לבנות תהליכי OAuth 2.0 ולהתמודד עם סיבוכים שקשורים לאינטראקציה עם המשתמשים, לאחסון של פרטי הכניסה של המשתמשים ולניהול האסימונים.
הרשאה לגישה לחשבונות Google Ads לא קשורה לפרטי הכניסה של משתמשים ספציפיים. זה יכול להיות שימושי במקרים שבהם הגישה צריכה להימשך גם אם העובד שהעניק את ההרשאה במקור עוזב את הצוות או את החברה.
הגדרת גישה לחשבון
קודם צריך ליצור חשבון שירות ופרטי כניסה.
מורידים את המפתח של חשבון השירות בפורמט JSON ורושמים את המזהה ואת כתובת האימייל של חשבון השירות.
נכנסים לחשבון Google Ads כאדמין. עוברים לקטע ניהול > אבטחה וגישה.
לוחצים על הלחצן + בכרטיסייה משתמשים.
מקלידים את כתובת האימייל בחשבון השירות בתיבת הקלט Email. בוחרים את רמת הגישה המתאימה לחשבון (שימו לב שחשבונות שירות לא תומכים ברמת הגישה אימייל בלבד) ולוחצים על הכפתור הוספת חשבון.
לחשבון השירות ניתנת גישה.
אופציונלי: כברירת מחדל, אי אפשר להעניק לחשבון שירות גישת אדמין. כדאי לפעול לפי העיקרון של הרשאות מינימליות ולהעניק גישת אדמין רק אם קריאות ה-API שלכם דורשות זאת. כדי לשדרג את הגישה:
- לוחצים על החץ לתפריט הנפתח שליד רמת הגישה של חשבון השירות בעמודה רמת גישה.
- מהרשימה הנפתחת, בוחרים באפשרות אדמין.
הגדרת ספריית לקוח
בוחרים את הכרטיסייה שמתאימה לשפת התכנות כדי לקבל הוראות להגדרת ספריית הלקוח. אם לחשבון השירות יש גישה לחשבונות לקוח דרך חשבון ניהול ב-Google Ads (MCC), צריך להגדיר גם את login-customer-id (או loginCustomerId) למספר הלקוח בן 10 הספרות של חשבון הניהול הזה, ללא מקפים (ראו מספר לקוח לכניסה).
Java
מגדירים את הנתיב של קובץ ה-JSON של המפתח הפרטי בהגדרה. אם משתמשים בקובץ ads.properties, מוסיפים את השורות הבאות:
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
פרטים נוספים זמינים במדריך ההגדרה.
.NET
מגדירים את OAuth2Mode ואת OAuth2SecretsJsonPath במופע של GoogleAdsConfig ומשתמשים בו כדי לאתחל את האובייקט GoogleAdsClient.
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
// ...
};
GoogleAdsClient client = new GoogleAdsClient(config);
פרטים נוספים זמינים במדריך ההגדרה.
Python
מגדירים את הנתיב של קובץ ה-JSON של המפתח הפרטי בהגדרה. אם משתמשים בקובץ google-ads.yaml, במחרוזת YAML או ב-dict, מוסיפים את הפרטים הבאים:
json_key_file_path: JSON_KEY_FILE_PATH
אם אתם משתמשים במשתני סביבה, מוסיפים את השורות הבאות להגדרות או לסביבה של Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
פרטים נוספים זמינים במדריך ההגדרה.
PHP
מגדירים את המפתחות הבאים בקובץ google_ads_php.ini.
[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
פרטים נוספים זמינים במדריך ההגדרה.
Ruby
מגדירים את המפתחות הבאים ב-google_ads_config.rb.
c.keyfile = 'JSON_KEY_FILE_PATH'
פרטים נוספים זמינים במדריך ההגדרה.
Perl
מגדירים את הנתיב של קובץ ה-JSON של המפתח הפרטי בהגדרה. אם משתמשים בקובץ googleads.properties, מוסיפים את השורות הבאות:
jsonKeyFilePath=JSON_KEY_FILE_PATH
אם אתם משתמשים במשתני סביבה, מוסיפים את השורות הבאות להגדרות או לסביבה של Bash:
export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH
פרטים נוספים זמינים במדריך ההגדרה.
curl
מתחילים בהגדרת חשבון השירות כפרטי הכניסה הפעילים ב-CLI של gcloud.
gcloud auth login --cred-file=JSON_KEY_FILE_PATHלאחר מכן, מאחזרים אסימון גישה מסוג OAuth 2.0 ל-Google Ads API.
gcloud auth \
print-access-token \
--scopes='https://www.googleapis.com/auth/adwords'אפשר להשתמש בטוקן הגישה בקריאות ל-API. בדוגמה הבאה מוצג אופן ההפעלה של דוח קמפיינים באמצעות השיטה GoogleAdsService.SearchStream כדי לאחזר את הקמפיינים בחשבון. במדריך הזה לא מוסבר בפירוט על דיווח.
curl -i -X POST \
https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"התוכן של query.json הוא:
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}