.NET

Google, Ad Manager API ile etkileşime geçmek 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ık öğesini mevcut bir projeye ekleyin. Google, istemci kitaplığı yapılarını Google.Ads.AdManager.V1 olarak NuGet deposunda yayınlar.

Paket Referansı

<!-- 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

Kimlik bilgilerini yapılandırma

.NET istemci kitaplığı, kimlik doğrulamak 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 KSA (gcloud KSA) üzerinden ayarlanan kullanıcı kimlik bilgileri.
  3. Google Cloud'da çalışırken Google Cloud kaynağına bağlı hizmet hesabı.

ADC kimlik bilgilerinizi oluşturmak ve yapılandırmak için Kimlik doğrulama bölümüne bakın.

İlk isteğinizi gönderin

Her hizmetin, her REST yöntemi için hem senkron hem de asenkron yöntemler içeren bir ServiceClient nesnesi vardır. Aşağıdaki örnekte, Network senkronize olarak okunmaktadır. Tüm varlıklar, türünü ve sayısal tanımlayıcısını içeren 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 kaynaklara dair örnekler 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 iletebileceğiniz benzersiz bir request_id içerir. Aşağıdaki örnekte HTTP durumu, hata mesajı ve request_id ayıklanmıştı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);