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

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

    • בעמודה Access level, לוחצים על החץ לתפריט נפתח שליד רמת הגישה של חשבון השירות.
    • בוחרים באפשרות אדמין מהרשימה הנפתחת.

הגדרת ספריית הלקוח

בוחרים את הכרטיסייה שמתאימה לשפת התכנות כדי לקבל הוראות להגדרת ספריית הלקוח. אם חשבון השירות ניגש לחשבונות לקוח דרך חשבון ניהול ב-Google Ads, צריך להגדיר גם את 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/v26/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"
}