設定

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 攔截器。

設定驗證

在例項化用戶端時會檢查設定,如果無效,就會擲回例外狀況。以下是相關規則:

  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] grpcChannelCredential 只能在 [CONNECTION] grpcChannelIsSecuretrue 時設定。