구성

<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에서 빌드 규칙 수정

마지막으로 프로젝트에 새 구성 파일을 포함합니다. 속성 변경 항상 출력 폴더에 복사를 복사하세요.

이제 프로젝트를 빌드하고 실행합니다. 애플리케이션에서 값을 가져오기 시작합니다. 삭제할 수 있습니다

커스텀 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 Ads .NET 라이브러리에서 지원되는 설정 목록은 다음과 같습니다.

연결 설정

  • Timeout: 이 키를 사용하여 서비스 제한 시간을 밀리초 단위로 설정합니다. 이 기본값은 method_config/timeout 설정에 따라 googleads_grpc_service_config.json. 최대 시간에 더 짧은 한도를 적용해야 하는 경우 더 낮은 값을 설정하세요. (API 호출) 제한 시간을 2시간 이상으로 설정할 수는 있지만 여전히 매우 오래 실행되는 요청이 타임아웃되고 DEADLINE_EXCEEDED 오류
  • ProxyServer: 인터넷에 연결합니다
  • ProxyUser: 인증에 필요한 사용자 이름으로 설정합니다. 연결할 수 있습니다 사용자 이름이 필요하지 않은 경우 비워 두세요.
  • ProxyPassword: 값을 설정하는 경우 비밀번호 ProxyUser로 설정합니다. (ProxyUser)
  • ProxyDomain: 프록시 서버가 실행 중인 경우 ProxyUser의 도메인으로 설정합니다. 를 설정해야 합니다.
  • MaxReceiveMessageLengthInBytes: 이 설정을 사용하여 최대 클라이언트 라이브러리가 처리할 수 있는 API 응답의 크기입니다. 기본값 값은 64MB입니다.
  • MaxMetadataSizeInBytes: 이 설정을 사용하여 최대 클라이언트 라이브러리가 처리할 수 있는 API 오류 응답의 크기입니다. 이 기본값은 16MB입니다.

MaxReceiveMessageLengthInBytesMaxMetadataSizeInBytes 조정 설정을 사용하여 특정 ResourceExhausted 오류를 수정하세요. 이 설정은 Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)" 형식의 오류입니다.

이 예시에서는 메시지 크기 (423184132 bytes)로 인해 오류가 발생합니다. 라이브러리가 처리할 수 있는 크기 (67108864 bytes)보다 커질 수 있습니다. 높이기 MaxReceiveMessageLengthInBytes에서 500000000로 변환하여 이 오류를 방지합니다.

이 오류는 코드에서 상당한 양의 트래픽을 처리할 수 있음을 큰 응답 객체 (예: SearchGoogleAdsResponse)을 입력합니다. 이 .NET의 큰 객체 때문에 코드의 성능에 힙. 성능 문제가 되는 경우 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 Ads UI (Google Ads API의 AccountLink 리소스) 이 값을 지정된 고객 ID를 입력하세요. 하이픈 (-) 없이 설정해야 합니다. 링크에 대해 자세히 알아보기 계정.