設定

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: インターネット接続に使用されるプロキシ サーバー URL。
    • [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 は有効な URL にする必要があります(フィルタ FILTER_VALIDATE_URL をご覧ください)。
  7. 設定する場合、[LOGGING] logLevel は有効な PSR ログレベルINFO など)の大文字にする必要があります。
  8. 設定する場合は、[CONNECTION] transportgrpc または rest にする必要があります。
  9. [CONNECTION] transportgrpc に設定されている場合、その環境で gRPC トランスポートがサポートされている必要があります(ガイドのトランスポートをご覧ください)。
  10. [CONNECTION] transportgrpc に設定されていない場合は、[CONNECTION] grpcChannelIsSecuretrue にする必要があります。
  11. [CONNECTION] grpcChannelCredential は、[CONNECTION] transportgrpc に設定されている場合にのみ設定できます。
  12. [CONNECTION] grpcChannelCredential は、[CONNECTION] grpcChannelIsSecuretrue の場合にのみ設定できます。