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입니다.
MaxReceiveMessageLengthInBytes
및MaxMetadataSizeInBytes
조정 설정을 사용하여 특정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를 입력하세요. 하이픈 (-
) 없이 설정해야 합니다. 링크에 대해 자세히 알아보기 계정.