設定

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_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();

構成フィールド

構成設定では、カテゴリ別に整理された複数のフィールドがサポートされています。

  1. 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)に戻ります。
  2. 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 インターセプタ。

構成の検証

構成設定はクライアントのインスタンス化時にチェックされ、無効な場合は例外がスローされます。検証ルールは次のとおりです。

  1. [OAUTH2] フィールドは、アプリケーション モードとサービス アカウント モードの両方に同時に設定することはできません。
  2. サービス アカウント モードを使用する場合は [OAUTH2] jsonKeyFilePath を設定する必要があります(v32.1.0 より前のバージョンでは [OAUTH2] scopes も設定する必要があります。v32.1.0 以降では scopes のデフォルトは https://www.googleapis.com/auth/adwords です)。
  3. アプリケーション モードを使用する場合は、[OAUTH2] clientId、[OAUTH2] clientSecret、[OAUTH2] refreshToken を設定する必要があります。
  4. v35.0.0 より前のバージョンでは、[GOOGLE_ADS] developerToken はローカル クライアントサイドの検証によってチェックされます(v35.0.0 以降では、[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] transport が grpc に設定されていない場合、[CONNECTION] grpcChannelIsSecure は true である必要があります(REST 接続では常に HTTPS が必要です)。
  11. [CONNECTION] grpcChannelCredential は、[CONNECTION] transport が grpc に設定されている場合にのみ設定できます。
  12. [CONNECTION] grpcChannelCredential は、[CONNECTION] grpcChannelIsSecure が true の場合にのみ設定できます。