ספריית הלקוח של Google Ads API ל-Perl כוללת כמה הגדרות אישיות שמאפשרות להתאים אישית את אופן הפעולה של הספרייה.
קובץ תצורה
אפשר לציין קובץ googleads.properties שבו יש להשתמש כשיוצרים מופע של הלקוח.
אם לא משתמשים בארגומנטים כשיוצרים מופע:
my $api_client = Google::Ads::GoogleAds::Client->new();
אז הספרייה מחפשת את הקובץ בספרייה HOME, או בנתיב שצוין במשתנה הסביבה GOOGLE_ADS_CONFIGURATION_FILE_PATH אם הוא מוגדר.
אפשר גם לציין נתיב באופן מפורש:
my $properties_file = "/path/to/googleads.properties";
my $api_client = Google::Ads::GoogleAds::Client->new({
properties_file => $properties_file,
});
במקרה כזה, הלקוח מחפש את הקובץ בנתיב הזה.
הדרך הכי קלה ליצור את הקובץ הזה היא להעתיק את googleads.properties מהמאגר ב-GitHub ולשנות אותו כך שיכלול את מזהה הלקוח, סוד הלקוח וטוקן הרענון.
הגדרה דינמית
אפשר להגדיר את הספרייה באופן דינמי כשיוצרים מופע שלה, או אחרי שיוצרים אותו:
my $api_client = Google::Ads::GoogleAds::Client->new({
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE",
});
אפשר גם לשנות את ההגדרות אחרי ההפעלה:
$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");
אפשר גם לקבל אובייקט OAuth2ApplicationsHandler מהמכונה Client, ולשנות את מזהה הלקוח, סוד הלקוח וטוקן הרענון בזמן הריצה:
my $oauth2_applications_handler =
$api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID_HERE");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET_HERE");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN_HERE");
משתני סביבה של הגדרות אישיות
אתם יכולים להגדיר חלק מההגדרות האישיות ממשתני סביבה כשאתם יוצרים מופעים של לקוחות (ראו משתני סביבה סטנדרטיים).
המודול Client מספק את הפונקציה configure_from_environment_variables כדי לטעון ערכים ממשתני סביבה.
# Get the Google Ads API Client. By default, any credentials are read from
# ~/googleads.properties, or, if set, from the file specified in the
# GOOGLE_ADS_CONFIGURATION_FILE_PATH environment variable.
my $api_client = Google::Ads::GoogleAds::Client->new();
# Load the configuration from any set environment variables.
$api_client->configure_from_environment_variables();
שדות תצורה
שימו לב שהמפתחות של googleads.properties משתמשים ב-camelCase (כמו loginCustomerId ו-linkedCustomerId), ואילו הארגומנטים של ה-constructor וה-handler methods של Client->new({...}) משתמשים ב-snake_case (כמו login_customer_id ו-linked_customer_id).
השדות שנשמרים ב-OAuth2ApplicationsHandler:
-
client_id(clientIdב-googleads.properties,GOOGLE_ADS_CLIENT_ID): מזהה הלקוח ב-OAuth2. -
client_secret(clientSecretב-googleads.properties,GOOGLE_ADS_CLIENT_SECRET): סוד הלקוח ב-OAuth2. -
refresh_token(refreshTokenב-googleads.properties,GOOGLE_ADS_REFRESH_TOKEN): טוקן הרענון של OAuth2. -
additional_scopes(additionalScopesב-googleads.properties): היקפי הרשאות נוספים של OAuth2 שצריך לבקש.
השדות שנשמרים ב-OAuth2ServiceAccountsHandler:
-
json_key_file_path(jsonKeyFilePathב-googleads.properties,GOOGLE_ADS_JSON_KEY_FILE_PATH): הנתיב לקובץ המפתח של חשבון השירות בפורמט JSON. impersonated_email(impersonatedEmailב-googleads.properties,GOOGLE_ADS_IMPERSONATED_EMAIL): כתובת האימייל שצריך להתחזות אליה כשמשתמשים בהקצאת הרשאות ברמת הדומיין ב-Google Workspace.-
additional_scopes(additionalScopesב-googleads.properties): היקפי הרשאות נוספים של OAuth2 שצריך לבקש.
השדות שנשמרים ב-Client:
-
login_customer_id(loginCustomerIdב-googleads.properties,GOOGLE_ADS_LOGIN_CUSTOMER_ID): מספר חשבון הניהול שדרכו ניגשים לחשבון הלקוח. לעיון במאמרי העזרה בנושא login-customer-id -
linked_customer_id(linkedCustomerIdב-googleads.properties,GOOGLE_ADS_LINKED_CUSTOMER_ID): מספר הלקוח המקושר. service_address(serviceAddressב-googleads.properties,GOOGLE_ADS_ENDPOINT): כתובת ה-URL של שירות Google Ads API (ברירת המחדל היא"https://googleads.googleapis.com").user_agent(userAgentב-googleads.properties,GOOGLE_ADS_PERL_USER_AGENT): קידומת מותאמת אישית של כותרת סוכן המשתמש שנכללת בבקשות HTTP.proxy(proxyב-googleads.properties,GOOGLE_ADS_PERL_PROXY): כתובת ה-URL של שרת ה-proxy שמשמש לחיבור לאינטרנט.version(Client->newאוset_version): מודול הגרסה של Google Ads API שבו משתמשים (ברירת המחדל היא"V26").-
die_on_faults(Client->newאוset_die_on_faults): צריך להגדיר את הערך1כדי ששיטות השירות יפעילו אתdie()עם המטען הייעודי (payload) של התגובה הגולמית בשגיאות API, במקום להחזיר אובייקטGoogle::Ads::GoogleAds::GoogleAdsException(ברירת המחדל היא0). -
http_timeout(Client->newאוset_http_timeout): הזמן הקצוב לתפוגה של HTTP בשניות (ברירת המחדל היא3600). -
http_retry_timing(Client->newאוset_http_retry_timing): מרווחי ההשהיה לניסיון חוזר בשניות לשגיאות HTTP זמניות מסוג503ו-504(ברירת המחדל היא"5,10,15").