設定

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 インターセプタ。
  3. [GAPIC] useGapicV2Source: サービス クライアントの作成時に GAPIC v2 ソースコードを使用するかどうか。

構成の検証

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

  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 の場合にのみ設定できます。