.NET

Google은 Ad Manager API와 상호작용하기 위한 .NET 클라이언트 라이브러리를 제공합니다. NuGet과 함께 클라이언트 라이브러리를 사용하는 것이 좋습니다.

시작하려면 원하는 IDE에서 새 프로젝트를 만들거나 기존 프로젝트에 종속 항목을 추가하세요. Google은 클라이언트 라이브러리 아티팩트를 NuGet 저장소에 Google.Ads.AdManager.V1로 게시합니다.

패키지 참조

<!-- 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는 다음 위치에서 순서대로 사용자 인증 정보를 검색합니다.

  1. GOOGLE_APPLICATION_CREDENTIALS 환경 변수
  2. Google Cloud CLI (gcloud CLI)를 통해 설정된 사용자 인증 정보
  3. 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);

프록시 설정 구성

.NET 클라이언트 라이브러리는 환경 변수 HTTP_PROXYHTTPS_PROXY에서 프록시 설정을 포함하여 HttpClient.DefaultProxy 속성을 준수합니다. 자세한 내용은 HttpClient.DefaultProxy 속성을 참고하세요.