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_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->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 スコープ(v32.1.0以降ではhttps://www.googleapis.com/auth/adwordsがデフォルト。v32.1.0より前のバージョンまたはカスタム スコープを使用する場合は必須。fromEnvironmentVariables()によって環境変数から読み取られない)。[OAUTH2] impersonatedEmail: Google Workspace ドメイン全体の委任を使用するときに権限を借用するメールアドレス(省略可)。
- アプリケーションのデフォルト認証情報モード:
- [Application mode] フィールドと [サービス アカウント mode] フィールドのどちらも設定されていない場合、
OAuth2TokenBuilderは自動的にアプリケーションのデフォルト認証情報(ADC)に戻ります。
- [Application mode] フィールドと [サービス アカウント mode] フィールドのどちらも設定されていない場合、
- アプリケーション モード:
GoogleAdsClientBuilderで使用されるフィールド:[GOOGLE_ADS] developerToken: (2026 年 9 月 9 日にサポート終了)Google Ads API デベロッパー トークン。省略可。クライアント ライブラリのバージョンに関係なく API サーバーで無視され、今後の Google Ads API のメジャー バージョンで拒否されます。v35.0.0以降: クライアントの初期化時に必要ありません(GoogleAdsClientBuilderでローカル クライアントサイドの開発者トークンの検証が削除されました)。v35.0.0より前のバージョン: ローカル クライアントサイドの構成検証で必要です。
[GOOGLE_ADS] loginCustomerId: リクエストで使用する承認済み顧客の ID。[GOOGLE_ADS] linkedCustomerId: リンクされたお客様 ID。[GOOGLE_ADS] endpoint: 省略可能な代替の Google Ads API サーバー エンドポイント。[LOGGING] logFilePath: ロギング出力のパス。[LOGGING] logLevel: ロギングレベル。[CONNECTION] proxy: インターネット接続に使用されるプロキシ サーバーの URL。[CONNECTION] transport: ネットワーク トランスポート(grpcまたはrest)。[CONNECTION] grpcChannelIsSecure: gRPC チャネルが安全かどうか。[CONNECTION] grpcChannelCredential: gRPC チャネルの認証情報。[CONNECTION] unaryMiddlewares: 単項ミドルウェア。[CONNECTION] streamingMiddlewares: ストリーミング ミドルウェア。[CONNECTION] grpcInterceptors: gRPC インターセプタ。
構成の検証
構成設定はクライアントのインスタンス化時にチェックされ、無効な場合は例外がスローされます。検証ルールは次のとおりです。
[OAUTH2]フィールドは、アプリケーション モードとサービス アカウント モードの両方に同時に設定することはできません。- サービス アカウント モードを使用する場合は
[OAUTH2] jsonKeyFilePathを設定する必要があります(v32.1.0より前のバージョンでは[OAUTH2] scopesも設定する必要があります。v32.1.0以降ではscopesのデフォルトはhttps://www.googleapis.com/auth/adwordsです)。 - アプリケーション モードを使用する場合は、
[OAUTH2] clientId、[OAUTH2] clientSecret、[OAUTH2] refreshTokenを設定する必要があります。 v35.0.0より前のバージョンでは、[GOOGLE_ADS] developerTokenはローカル クライアントサイドの検証によってチェックされます(v35.0.0以降では、[GOOGLE_ADS] developerTokenは不要です)。- 設定する場合は、
[GOOGLE_ADS] loginCustomerIdと[GOOGLE_ADS] linkedCustomerIdを正の数にする必要があります。 - 設定されている場合、
[CONNECTION] proxyは有効な URL である必要があります(FILTER_VALIDATE_URLフィルタを参照)。 - 設定する場合、
[LOGGING] logLevelは大文字の有効な PSR ログレベル(INFOなど)にする必要があります。 - 設定する場合は、
[CONNECTION] transportはgrpcまたはrestのいずれかである必要があります。 [CONNECTION] transportがgrpcに設定されている場合、gRPC トランスポートは環境でサポートされている必要があります(トランスポート ガイドを参照)。[CONNECTION] transportがgrpcに設定されていない場合、[CONNECTION] grpcChannelIsSecureはtrueである必要があります(REST 接続では常に HTTPS が必要です)。[CONNECTION] grpcChannelCredentialは、[CONNECTION] transportがgrpcに設定されている場合にのみ設定できます。[CONNECTION] grpcChannelCredentialは、[CONNECTION] grpcChannelIsSecureがtrueの場合にのみ設定できます。