ספריית הלקוח של Google Ads API ל-PHP כוללת כמה הגדרות אישיות שאפשר להשתמש בהן כדי להתאים אישית את התנהגות הספרייה.
קובץ תצורה
אפשר לשמור את רוב הגדרות התצורה האלה בקובצי ini ולהשתמש בהן כשיוצרים את הלקוחות, לדוגמה google_ads_php.ini.
ה-builders של פרטי הכניסה והלקוח מספקים שיטות fromFile לטעינה של הגדרות מקובצים כאלה:
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile('/path/to/google_ads_php.ini')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile('/path/to/google_ads_php.ini')
->withOAuth2Credential($oAuth2Credential)
->build();
אם לא צוין נתיב תצורה כארגומנט, ה-methods fromFile ייטענו מנתיב ברירת המחדל של ההגדרות, שהוא:
- הערך של משתנה הסביבה שנקרא
GOOGLE_ADS_CONFIGURATION_FILE_PATH, אם הוא מוגדר. - אחרת, הקובץ
google_ads_php.iniבספרייהHOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
הגדרה דינמית
אפשר לקבוע את הגדרות התצורה האלה באופן דינמי כשיוצרים יצירה של לקוחות.
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID')
// ...
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
// ...
->build();
משתני סביבה של תצורה
אפשר להגדיר חלק מההגדרות באמצעות משתני סביבה בזמן יצירת הלקוחות (רשימת ההגדרות המלאה).
ה-builders של פרטי הכניסה ושל הלקוח מספקים שיטות fromEnvironmentVariables לטעינה של הגדרות ממשתני סביבה:
$oAuth2Credential = (new OAuth2TokenBuilder())
// ...
->fromEnvironmentVariables()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// ...
->fromEnvironmentVariables()
->build();
שדות תצורה
הגדרות התצורה תומכות בכמה שדות שמאורגנים בקטגוריות.
- השדות שבהם נעשה שימוש ב-
OAuth2TokenBuilder:- מצב אפליקציה
[OAUTH2] clientId: מזהה הלקוח ב-OAuth2.[OAUTH2] clientSecret: סוד הלקוח ב-OAuth2.[OAUTH2] refreshToken: טוקן הרענון של OAuth2.
- מצב חשבון שירות
[OAUTH2] jsonKeyFilePath: הנתיב לקובץ המפתח ב-JSON.[OAUTH2] scopes: ההיקפים.[OAUTH2] impersonatedEmail: כתובת האימייל שמשמשת להתחזות.
- מצב אפליקציה
- השדות שבהם נעשה שימוש ב-
GoogleAdsClientBuilder:[GOOGLE_ADS] developerToken: אסימון הפיתוח שלכם לגישה ל-API.[GOOGLE_ADS] loginCustomerId: המזהה של הלקוח המורשה לשימוש בבקשה.[GOOGLE_ADS] linkedCustomerId: מספר הלקוח המקושר.[LOGGING] logFilePath: נתיב הקובץ לצורך רישום ביומן.[LOGGING] logLevel: רמת הרישום ביומן.[CONNECTION] proxy: כתובת ה-URL של שרת ה-proxy שמשמש לחיבור לאינטרנט.[CONNECTION] transport: התחבורה.[CONNECTION] grpcChannelIsSecure: האם ערוץ ה-gRPC מאובטח או לא.[CONNECTION] grpcChannelCredential: פרטי הכניסה של ערוץ ה-gRPC.[CONNECTION] unaryMiddlewares: שכבות הביניים החד-ערוציות.[CONNECTION] streamingMiddlewares: שכבות הביניים לסטרימינג.[CONNECTION] grpcInterceptors: מנטעים של gRPC.
אימות ההגדרות האישיות
הגדרות התצורה נבדקות בזמן יצירת הלקוחות, והמערכת תיצור חריגות אם הן לא תקינות. אלה הכללים:
- אסור להגדיר את השדות
[OAUTH2]גם למצב Application Mode וגם למצב Service Account Mode בו-זמנית. - צריך להגדיר את
[OAUTH2] jsonKeyFilePathו-[OAUTH2] scopesכשמשתמשים במצב חשבון השירות. - צריך להגדיר את הערכים
[OAUTH2] clientId,[OAUTH2] clientSecretו-[OAUTH2] refreshTokenכשמשתמשים במצב Application. - תמיד צריך להגדיר את
[GOOGLE_ADS] developerToken. - אם מגדירים אותם, הערכים של
[GOOGLE_ADS] loginCustomerIdו-[GOOGLE_ADS] linkedCustomerIdחייבים להיות חיוביים. - אם הערך מוגדר,
[CONNECTION] proxyחייב להיות כתובת URL תקינה (ראו המסנן FILTER_VALIDATE_URL). - אם המדיניות מוגדרת,
[LOGGING] logLevelצריכה להיות רמת יומן PSR תקינה באותיות רישיות, למשלINFO. - אם הערך של
[CONNECTION] transportמוגדר, הוא חייב להיותgrpcאוrest. - אם הערך של
[CONNECTION] transportמוגדר כ-grpc, הסביבה צריכה לתמוך בהעברת gRPC (ראו המדריך transport). [CONNECTION] grpcChannelIsSecureחייב להיותtrueאם[CONNECTION] transportלא מוגדר ל-grpc.- אפשר להגדיר את
[CONNECTION] grpcChannelCredentialרק כשהערך של[CONNECTION] transportהואgrpc. - אפשר להגדיר את
[CONNECTION] grpcChannelCredentialרק כשהערך של[CONNECTION] grpcChannelIsSecureהואtrue.