設定

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