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 方法就會從預設的設定路徑載入,如下所示:
- 名為 GOOGLE_ADS_CONFIGURATION_FILE_PATH的環境變數值 (如有設定)。
- 否則,請在 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();
設定欄位
組態設定支援多個依類別分類的欄位。
- OAuth2TokenBuilder使用的欄位:- 應用程式模式
- [OAUTH2] clientId:您的 OAuth2 用戶端 ID。
- [OAUTH2] clientSecret:您的 OAuth2 用戶端密鑰。
- [OAUTH2] refreshToken:您的 OAuth2 更新權杖。
 
- 服務帳戶模式
- [OAUTH2] jsonKeyFilePath:JSON 金鑰檔案路徑。
- [OAUTH2] scopes:範圍。
- [OAUTH2] impersonatedEmail:要冒用的電子郵件地址。
 
 
- 應用程式模式
- 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 攔截器。
 
設定驗證
在例項化用戶端時會檢查設定,如果無效,就會擲回例外狀況。以下是相關規則:
- [OAUTH2]欄位不得同時設定為應用程式模式和服務帳戶模式。
- 使用服務帳戶模式時,必須設定 [OAUTH2] jsonKeyFilePath和[OAUTH2] scopes。
- 使用應用程式模式時,必須設定 [OAUTH2] clientId、[OAUTH2] clientSecret和[OAUTH2] refreshToken。
- 必須一律設定「[GOOGLE_ADS] developerToken」。
- 如果已設定,[GOOGLE_ADS] loginCustomerId和[GOOGLE_ADS] linkedCustomerId必須為正數。
- 如果已設定,[CONNECTION] proxy必須是有效的網址 (請參閱篩選器 FILTER_VALIDATE_URL)。
- 如果已設定,[LOGGING] logLevel必須是有效的 PSR 記錄層級,且必須以大寫字母表示,例如INFO。
- 如果已設定,[CONNECTION] transport必須為grpc或rest。
- 如果將 [CONNECTION] transport設為grpc,環境必須支援 gRPC 傳輸 (請參閱傳輸指南)。
- 如果 [CONNECTION] transport未設為grpc,[CONNECTION] grpcChannelIsSecure必須為true。
- 只有在「[CONNECTION] transport」設為grpc時,才能設定「[CONNECTION] grpcChannelCredential」。
- [CONNECTION] grpcChannelCredential只能在- [CONNECTION] grpcChannelIsSecure為- true時設定。