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 seçtiğiniz IDE'de yeni bir proje oluşturun veya bağımlılığı 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 KSA
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
Kimlik bilgilerini yapılandırma
.NET istemci kitaplığı, kimlik doğrulama için OAuth2 ve Uygulama Varsayılan Kimlik Bilgileri'ni (ADC) kullanır.
ADC, kimlik bilgilerini aşağıdaki konumlarda sırayla arar:
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkeni.- Google Cloud KSA (gcloud KSA) üzerinden ayarlanan kullanıcı kimlik bilgileri.
- 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ığındaki 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);