Google은 Ad Manager API와 상호작용하기 위한 .NET 클라이언트 라이브러리를 제공합니다. NuGet과 함께 클라이언트 라이브러리를 사용하는 것이 좋습니다.
시작하려면 원하는 IDE에서 새 프로젝트를 만들거나 기존 프로젝트에 종속 항목을 추가합니다. Google은 클라이언트 라이브러리 아티팩트를 Google.Ads.AdManager.V1
로 NuGet 저장소에 게시합니다.
패키지 참조
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />
.NET CLI
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
사용자 인증 정보 구성
.NET 클라이언트 라이브러리는 OAuth2 및 애플리케이션 기본 사용자 인증 정보(ADC)를 사용하여 인증합니다.
ADC는 다음 위치에서 순서대로 사용자 인증 정보를 검색합니다.
GOOGLE_APPLICATION_CREDENTIALS
환경 변수입니다.- Google Cloud CLI(gcloud CLI)를 통해 설정된 사용자 인증 정보
- Google Cloud에서 실행되는 경우 Google Cloud 리소스에 연결된 서비스 계정입니다.
ADC 사용자 인증 정보를 만들고 구성하는 방법은 인증을 참고하세요.
첫 번째 요청하기
각 서비스에는 REST 메서드마다 동기식 및 비동기식 메서드가 모두 있는 ServiceClient
객체가 있습니다. 다음 예에서는 Network
를 동기식으로 읽습니다. 모든 항목은 항목의 유형과 숫자 식별자로 구성된 리소스 이름으로 식별됩니다.
using Google.Ads.AdManager.V1;
public sealed partial class GeneratedNetworkServiceClientSnippets
{
public void GetNetwork()
{
// Create client
NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
// Initialize request argument(s)
string name = "networks/[NETWORK_CODE]";
// Make the request
Network response = networkServiceClient.GetNetwork(name);
}
}
다른 메서드 및 리소스의 예는 GitHub 저장소 googleapis/google-cloud-dotnet
를 참고하세요.
오류 처리
모든 Ad Manager API 오류는 .NET 클라이언트 라이브러리에서 Grpc.Core.RpcException 유형입니다.
오류에는 문제 해결을 위해 지원팀에 제공할 수 있는 고유한 request_id
가 포함됩니다. 다음 예에서는 HTTP 상태, 오류 메시지, request_id
를 추출합니다.
using Google.Ads.AdManager.V1;
using Google.Api.Gax.Grpc;
using Google.Rpc;
using Grpc.Core;
try
{
NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
Network network = networkServiceClient.GetNetwork("networks/[NETWORK_CODE]");
}
catch(RpcException e)
{
// HTTP Status code
StatusCode statusCode = e.Status.StatusCode;
// Error message
string errorMessage = e.Status.Detail;
// Unique request identifier.
RequestInfo requestInfo = e.GetStatusDetail<RequestInfo>();
string requestId = requestInfo?.RequestId ?? "Unexpected null request identifier";
}
리소스 이름 구성
클라이언트 라이브러리는 ID에서 리소스 이름을 빌드하기 위한 도우미 클래스를 제공합니다. 이는 서비스 메서드에 직접 전달할 수 있습니다.
// Represents a resource name in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);