תהליך העבודה של חשבון שירות

במדריך הזה מוסבר איך לגשת אל Google Ads API באמצעות חשבונות שירות.

חשבון שירות הוא חשבון ששייך לאפליקציה ולא למשתמש קצה ספציפי. חשבונות שירות משתמשים בהרשאה באמצעות OAuth 2.0 שלא דורשת הרשאה אנושית, אלא בקובץ מפתח שהגישה אליו מותרת רק לאפליקציה שלכם.

לשימוש בחשבונות שירות יש שני יתרונות מרכזיים:

  • ההרשאה לגישה ל-Google Ads API לחשבונות Google Ads מתבצעת כשלב בהגדרה, תוך שימוש בתכונות ההרשאה וניהול החשבון שמוצעות בממשק המשתמש של Google Ads. כך המפתחים לא צריכים לבנות תהליכי OAuth 2.0 ולהתמודד עם סיבוכים שקשורים לאינטראקציה עם המשתמשים, לאחסון של פרטי הכניסה של המשתמשים ולניהול האסימונים.

  • הרשאה לגישה לחשבונות Google Ads לא קשורה לפרטי הכניסה של משתמשים ספציפיים. זה יכול להיות שימושי במקרים שבהם הגישה צריכה להימשך גם אם העובד שהעניק את ההרשאה במקור עוזב את הצוות או את החברה.

הגדרת גישה לחשבון

  1. קודם צריך ליצור חשבון שירות ופרטי כניסה.

    מורידים את המפתח של חשבון השירות בפורמט JSON ורושמים את המזהה ואת כתובת האימייל של חשבון השירות.

  2. נכנסים לחשבון Google Ads כאדמין. עוברים לקטע ניהול > אבטחה וגישה.

  3. לוחצים על הלחצן + בכרטיסייה משתמשים.

  4. מקלידים את כתובת האימייל בחשבון השירות בתיבת הקלט Email. בוחרים את רמת הגישה המתאימה לחשבון (שימו לב שחשבונות שירות לא תומכים ברמת הגישה אימייל בלבד) ולוחצים על הכפתור הוספת חשבון.

  5. לחשבון השירות ניתנת גישה.

  6. אופציונלי: כברירת מחדל, אי אפשר להעניק לחשבון שירות גישת אדמין. כדאי לפעול לפי העיקרון של הרשאות מינימליות ולהעניק גישת אדמין רק אם קריאות ה-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"
}