.NET

Google, Ad Manager API ile etkileşim kurmak için bir .NET istemci kitaplığı sağlar. İstemci kitaplığını NuGet ile kullanmanızı öneririz.

Başlamak için tercih ettiğiniz IDE'de yeni bir proje oluşturun veya bağımlılığı mevcut bir projeye ekleyin. Google, istemci kitaplığı yapılarını NuGet deposunda Google.Ads.AdManager.V1 olarak yayınlar.

Paket Referansı

<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta14" />

.NET CLI

dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta14

Kimlik bilgilerini yapılandırma

.NET istemci kitaplığı, kimlik doğrulaması için OAuth2 ve Uygulama Varsayılan Kimlik Bilgileri'ni (ADC) kullanır.

ADC, kimlik bilgilerini aşağıdaki konumlarda sırayla arar:

  1. GOOGLE_APPLICATION_CREDENTIALS ortam değişkeni.
  2. Google Cloud CLI (gcloud CLI) üzerinden ayarlanan kullanıcı kimlik bilgileri.
  3. Google Cloud'da çalışırken Google Cloud kaynağına eklenen hizmet hesabı.

ADC kimlik bilgilerinizi oluşturma ve yapılandırma hakkında bilgi edinmek için Kimlik doğrulama başlıklı makaleyi inceleyin.

İlk isteğinizi gönderme

Her hizmette, her REST yöntemi için hem eşzamanlı hem de eşzamansız yöntemleri olan bir ServiceClient nesnesi bulunur. Aşağıdaki örnekte, bir Network eşzamanlı olarak okunmaktadır. Tüm varlıklar, varlığın türünden ve sayısal tanımlayıcısından oluşan bir kaynak adıyla tanımlanır.

    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);
        }
    }

Diğer yöntem ve kaynakların örnekleri için googleapis/google-cloud-dotnet GitHub deposuna bakın.

Hataları işleme

Tüm Ad Manager API hataları, .NET istemci kitaplığında Grpc.Core.RpcException türündedir.

Hatalar, sorun giderme konusunda yardım almak için destek ekibine sağlayabileceğiniz benzersiz bir request_id içerir. Aşağıdaki örnekte HTTP durumu, hata mesajı ve request_id ayıklanmaktadır.

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";
}

Kaynak adları oluşturma

İstemci kitaplığı, kimliklerden kaynak adları oluşturmak için yardımcı sınıflar sağlar. Bunlar doğrudan hizmet yöntemlerine iletilebilir.

//  Represents a resource name in the format:
//  "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);

Proxy ayarlarını yapılandırma

.NET istemci kitaplığı, HTTP_PROXY ve HTTPS_PROXY ortam değişkenlerinden proxy'leri ayarlama dahil olmak üzere HttpClient.DefaultProxy özelliğini dikkate alır. Daha fazla bilgi için HttpClient.DefaultProxy Özelliği başlıklı makaleyi inceleyin.