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 です。
MaxReceiveMessageLengthInBytes
とMaxMetadataSizeInBytes
を調整する 特定のResourceExhausted
エラーを修正します。これらの設定はStatus(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
形式のエラー。この例では、メッセージ サイズ(
423184132 bytes
)が原因でエラーが発生しています。 ライブラリが処理できる範囲(67108864 bytes
)を超えている。増やす このエラーを回避するには、MaxReceiveMessageLengthInBytes
を500000000
に設定します。なお、このエラーは、コードが大量の処理を 大きな 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 提供します。ハイフン(-
)なしで設定する必要があります。リンク済み アカウント。