ספריית הלקוח של 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();
אם לא צוין נתיב תצורה כארגומנטים, השיטות של 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.