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

ספריית הלקוח של PHP ב-Google Ads API מספקת מספר הגדרות תצורה שבהן תוכלו להשתמש כדי להתאים אישית את התנהגות הספרייה.

קובץ תצורה

אתם יכולים לאחסן את רוב ההגדרות האישיות האלה בקובצי ini ולהשתמש בהן ליצירת קובצי לקוחות, לדוגמה, google_ads_php.ini.

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

הגדרת משתני סביבה

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

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