הגדרות אישיות

ספריית הלקוח של 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 נטענות מנתיב ברירת המחדל של קובץ התצורה, שהוא:

  1. הערך של משתנה הסביבה שנקרא GOOGLE_ADS_CONFIGURATION_FILE_PATH אם הוא מוגדר.
  2. אחרת, הקובץ 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();

שדות ההגדרה

הגדרות התצורה תומכות בכמה שדות שמסודרים בקטגוריות.

  1. השדות בשימוש של OAuth2TokenBuilder:
    • מצב האפליקציה
      • [OAUTH2] clientId: מזהה הלקוח ב-OAuth2.
      • [OAUTH2] clientSecret: סוד הלקוח שלכם ב-OAuth2.
      • [OAUTH2] refreshToken: אסימון הרענון של OAuth2.
    • מצב חשבון שירות
      • [OAUTH2] jsonKeyFilePath: הנתיב של קובץ מפתח ה-Json.
      • [OAUTH2] scopes: ההיקפים.
      • [OAUTH2] impersonatedEmail: כתובת האימייל שמשמשת להתחזות.
  2. השדות בשימוש של 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.
  3. [GAPIC] useGapicV2Source: האם להשתמש במקור של GAPIC v2 כשיוצרים לקוחות שירות.

אימות ההגדרות האישיות

הגדרות התצורה נבדקות בעת יצירת לקוחות וחריגים נזרקים כשהם לא תקינים. אלה הכללים:

  1. אי אפשר להגדיר שדות [OAUTH2] גם למצב אפליקציה וגם לשירות מצב חשבון בו-זמנית.
  2. צריך להגדיר את [OAUTH2] jsonKeyFilePath ואת [OAUTH2] scopes כשמשתמשים את מצב חשבון השירות.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret, [OAUTH2] refreshToken חייבים מוגדר בעת השימוש ב'מצב אפליקציה'.
  4. תמיד צריך להגדיר את [GOOGLE_ADS] developerToken.
  5. אם המדיניות מוגדרת, [GOOGLE_ADS] loginCustomerId וגם [GOOGLE_ADS] linkedCustomerId חייב להיות מספרים חיוביים.
  6. אם מוגדרת, [CONNECTION] proxy חייבת להיות כתובת URL חוקית (מידע נוסף במסנן FILTER_VALIDATE_URL).
  7. אם המדיניות מוגדרת, [LOGGING] logLevel חייב להיות יומן PSR תקין רמה ב- באותיות רישיות, למשל INFO.
  8. אם היא מוגדרת, [CONNECTION] transport חייב להיות grpc או rest.
  9. אם המדיניות [CONNECTION] transport מוגדרת לערך grpc, התעבורה של gRPC צריכה להיות שנתמכות על ידי הסביבה (ראו במדריך תחבורה).
  10. [CONNECTION] grpcChannelIsSecure חייב להיות true אם [CONNECTION] transport לא מוגדר ל-grpc.
  11. אפשר להגדיר את [CONNECTION] grpcChannelCredential רק אם בשדה [CONNECTION] transport מוגדר הערך grpc.
  12. אפשר להגדיר את [CONNECTION] grpcChannelCredential רק כשהערך של [CONNECTION] grpcChannelIsSecure הוא true.