設定

Google Ads API PHP 用戶端程式庫提供數種配置設定,可用來自訂程式庫行為。

設定檔

您可以將大部分配置設定儲存在 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. 否則,則 HOME 目錄中的 google_ads_php.ini 檔案。
$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 用戶端 ID。
      • [OAUTH2] clientSecret:您的 OAuth2 用戶端密鑰。
      • [OAUTH2] refreshToken:您的 OAuth2 更新權杖。
    • 服務帳戶模式
      • [OAUTH2] jsonKeyFilePath:Json 金鑰檔案路徑。
      • [OAUTH2] scopes:範圍。
      • [OAUTH2] impersonatedEmail:要冒用他人身分的電子郵件。
  2. GoogleAdsClientBuilder 使用的欄位:
    • [GOOGLE_ADS] developerToken:用來存取 API 的開發人員權杖。
    • [GOOGLE_ADS] loginCustomerId:要在要求中使用的授權客戶 ID
    • [GOOGLE_ADS] linkedCustomerId:已連結的客戶 ID。
    • [LOGGING] logFilePath:記錄的檔案路徑。
    • [LOGGING] logLevel:記錄層級。
    • [CONNECTION] proxy:用於網際網路連線的 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 必須是有效網址 (請參閱篩選器 FILTER_VALIDATE_URL)。
  7. 如有設定,[LOGGING] logLevel 必須是以大寫表示的有效 PSR 記錄層級,例如 INFO
  8. 如果已設定,[CONNECTION] transport 必須是 grpcrest
  9. 如果將 [CONNECTION] transport 設為 grpc,則環境必須支援 gRPC 傳輸 (請參閱指南傳輸指南)。
  10. 如果 [CONNECTION] transport 未設為 grpc[CONNECTION] grpcChannelIsSecure 就必須是 true
  11. 只有在 [CONNECTION] transport 設為 grpc 時,才能設定[CONNECTION] grpcChannelCredential
  12. 只有在[CONNECTION] grpcChannelIsSecuretrue 時,才能設定 [CONNECTION] grpcChannelCredential