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

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

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

השימוש בחשבונות שירות מספק שני יתרונות עיקריים:

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

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

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

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

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

  2. נכנסים לחשבון Google Ads כאדמין. עוברים אל Admin > Access and security (ניהול > אבטחה וגישה).

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

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

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

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

בוחרים את הכרטיסייה שמתאימה לשפת התכנות כדי לקבל הוראות להגדרת ספריית הלקוח.

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 = "PATH_TO_JSON_SECRETS_PATH",
    ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

פרטים נוספים זמינים במדריך להגדרה.

Python

מגדירים את הנתיב של קובץ ה-JSON עם המפתח הפרטי בהגדרות. אם משתמשים ב-google-ads.yaml file, במחרוזת 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. פרטים נוספים זמינים במדריך להגדרה.

; 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=PATH_TO_CREDENTIALS_JSON

לאחר מכן, מאחזרים אסימון גישה מסוג 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/v21/customers/CUSTOMER_ID/googleAds:searchStream \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer ACCESS_TOKEN" \
   -H "developer-token: DEVELOPER_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"
}