構成

<ph type="x-smartling-placeholder">

Google Ads API クライアント ライブラリには、 を使用してライブラリの動作をカスタマイズできます。

実行時にライブラリを構成する

クライアント ライブラリを構成する方法として推奨されるのは、 実行時の GoogleAdsConfig オブジェクト:

GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = OAuth2Flow.APPLICATION,
    OAuth2ClientId = "******.apps.googleusercontent.com",
    OAuth2ClientSecret = "******",
    OAuth2RefreshToken = "******"
};

GoogleAdsClient client = new GoogleAdsClient(config);

代替構成オプション

また、クライアント ライブラリを構成するための以下の追加オプションも提供しています。 有効にするには、Google.Ads.GoogleAds.Extensions に Nuget 参照を追加します。 パッケージ化されています できます。

これらのオプションのいずれかを使用すると、構成設定は取得されません。 以下に示すように、明示的に読み込む必要があります。

App.config を使用して構成する

Google Ads API に固有の設定はすべて GoogleAdsApi に保存されます。 この App.config ファイルのノードを指定します。一般的な構成 App.config は次のとおりです。 次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" />
  </configSections>
  <GoogleAdsApi>
    <!-- Set the service timeout in milliseconds. -->
    <add key="Timeout" value="2000" />

    <!-- Proxy settings for library. -->
    <add key="ProxyServer" value="http://localhost:8888"/>
    <add key="ProxyUser" value=""/>
    <add key="ProxyPassword" value=""/>
    <add key="ProxyDomain" value=""/>

    <!-- API-specific settings -->
    <add key="DeveloperToken" value="******"/>

    <!-- OAuth2 settings -->
    <add key = "OAuth2Mode" value="APPLICATION"/>
    <add key = "OAuth2ClientId" value = "******.apps.googleusercontent.com" />
    <add key = "OAuth2ClientSecret" value = "******" />
    <add key = "OAuth2RefreshToken" value = "******" />
  </GoogleAdsApi>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

App.config ファイルから構成設定を読み込むには、 GoogleAdsConfig オブジェクトの LoadFromDefaultAppConfigSection メソッド:

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);

個別の App.config ファイルを指定する

App.config をすっきりさせたくない場合は、 構成ファイルを使用して、ライブラリ固有の構成を configSource プロパティです。

ステップ 1: App.config で configSource を指定する

App.config を次のように変更します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
  </configSections>
  <GoogleAdsApi configSource="GoogleAdsApi.config"/>
...
</configuration>

ステップ 2: 構成ファイルの内容を指定する

configSource で指定した名前で別の構成ファイルを作成します。 構成ノードを App.config からこのファイルに移動します。

<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
  ... More settings.
</GoogleAdsApi>

ステップ 3: csproj のビルドルールを修正する

最後に、プロジェクトに新しい構成ファイルを追加します。プロパティを変更する [Always copy to output folder] をオンにします。

プロジェクトをビルドして実行します。アプリケーションが値の取得を開始する 新しい構成ファイルを作成します。

カスタム JSON ファイルを使用した構成

使用法: IConfigurationRoot クライアント ライブラリを構成します。

JSON ファイルを作成する

次のような構造の GoogleAdsApi.json という名前の JSON ファイルを作成します。 App.config ファイル。

{
    "Timeout": "2000",

    "ProxyServer": "http://localhost:8888",
    "ProxyUser": "",
    "ProxyPassword": "",
    "ProxyDomain": "",

    "DeveloperToken": "******",

    "OAuth2Mode": "APPLICATION",
    "OAuth2ClientId": "******.apps.googleusercontent.com",
    "OAuth2ClientSecret": "******",
    "OAuth2RefreshToken": "******",
}

構成を読み込む

次に、JSON ファイルを IConfigurationRoot に読み込みます。

ConfigurationBuilder builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationRoot(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);

settings.json を使用した構成

この手順はカスタム JSON を使用する場合と似ていますが、 GoogleAdsApi という名前のセクションに次のように移動します。

{
    "GoogleAdsApi":
    {
        "DeveloperToken": "******",
        "OAuth2Mode": "APPLICATION",
        "OAuth2ClientId": "******.apps.googleusercontent.com",
        "OAuth2ClientSecret": "******",
        "OAuth2RefreshToken": "******",
        ...
    }
    // More settings...
}

次に、ページで IConfiguration インスタンスを使用できます。

IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);

環境変数を使用した構成

環境変数を使用して GoogleAdsClient を初期化することもできます。

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);

サポートされている環境の一覧をご覧ください。 定義します

構成フィールド

Google 広告 .NET ライブラリでサポートされている設定は次のとおりです。

接続の設定

  • Timeout: このキーを使用して、サービスのタイムアウトをミリ秒単位で設定します。「 デフォルト値は、method_config/timeout の設定に基づいて設定されます。 googleads_grpc_service_config.json. 最大時間の上限を短くする必要がある場合は、より低い値を設定します API 呼び出しに使用できますタイムアウトは 2 時間以上に設定できますが、API では 実行時間が極端に長いリクエストがタイムアウトになり、 DEADLINE_EXCEEDED エラー。
  • ProxyServer: インターネットに接続します
  • ProxyUser: 認証に必要なユーザー名に設定します。 プロキシサーバーと通信しますユーザー名が必要ない場合は空のままにしておきます。
  • ProxyPassword: 値を設定する場合は、パスワード ProxyUser に設定します。 (ProxyUser
  • ProxyDomain: プロキシ サーバーを使用する場合は、これを ProxyUser のドメインに設定します。 設定する必要があります。
  • MaxReceiveMessageLengthInBytes: この設定を使用して、上限を引き上げます。 クライアント ライブラリが処理できる API レスポンスのサイズ。デフォルト 64 MB です。
  • MaxMetadataSizeInBytes: この設定を使用して、上限を引き上げます。 クライアント ライブラリが処理できる API エラー レスポンスのサイズ。「 デフォルト値は 16 MB です。

MaxReceiveMessageLengthInBytesMaxMetadataSizeInBytes を調整する 特定の ResourceExhausted エラーを修正します。これらの設定は Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)" 形式のエラー。

この例では、メッセージ サイズ(423184132 bytes)が原因でエラーが発生しています。 ライブラリが処理できる範囲(67108864 bytes)を超えている。増やす このエラーを回避するには、MaxReceiveMessageLengthInBytes500000000 に設定します。

なお、このエラーは、コードが大量の処理を 大きな Response オブジェクト(大きな SearchGoogleAdsResponse)。この コードのパフォーマンスに影響する可能性があります。 ヒープ。 これがパフォーマンス上の懸念になる場合、次の方法を検討する必要があるかもしれません: API 呼び出しを再編成したり、アプリの一部を再構築したりできます。

OAuth2 の設定

OAuth2 を使って Google Ads API サーバーに対する呼び出しを承認する場合、 次の構成キーを設定する必要があります。

  • AuthorizationMethod: OAuth2 に設定します。
  • OAuth2Mode: APPLICATION または SERVICE_ACCOUNT に設定します。
  • OAuth2ClientId: OAuth2 クライアント ID に設定します。
  • OAuth2ClientSecret: OAuth2 クライアント シークレットに設定します。
  • OAuth2Scope: 承認する場合は、この値を別のスコープに設定します 複数の API 用の OAuth2 トークン。この設定は省略可能です。

OAuth2Mode == APPLICATION を使用している場合は、以下を設定する必要があります。 追加の構成キーを設定できます。

  • OAuth2RefreshToken: 事前に生成された OAuth2 更新トークンにこの値を設定します。 OAuth2 トークンを再利用したい場合。この設定は省略可能です。
  • OAuth2RedirectUri: OAuth2 リダイレクト URL に設定します。この設定 オプションです。

詳しくは、次のガイドをご覧ください。

OAuth2Mode == SERVICE_ACCOUNT を使用している場合は、 追加の構成キーを使用できます。

  • OAuth2PrnEmail: 使用するアカウントのメールアドレスに設定します。 できます。
  • OAuth2SecretsJsonPath: OAuth2 JSON 構成に設定します。 ファイルパス。

OAuth サービス アカウントのフローを見る ガイドをご覧ください。

交通の設定

  • UseGrpcCore: Grpc.Core ライブラリをライブラリとして使用するには、この設定を true に設定します。 トランスポート層。詳細については、gRPC サポート ガイドをご覧ください。

Google Ads API の設定

以下は、Google Ads API に固有の設定です。

  • DeveloperToken: 開発者トークンに設定します。
  • LoginCustomerId: 使用を承認されたお客様のお客様 ID です。 使用できます。ハイフン(-)は不要です。
  • LinkedCustomerId: このヘッダーは、 エンティティ リソースにリンクされたアカウントを通じて権限を付与されている場合、 Google 広告の管理画面(Google Ads API の AccountLink リソース)。この値を 指定したリソースを更新するデータ プロバイダのお客様 ID 提供します。ハイフン(-)なしで設定する必要があります。リンク済み アカウント