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ı 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:
GOOGLE_APPLICATION_CREDENTIALSortam değişkeni.- Google Cloud CLI (gcloud CLI) aracılığıyla ayarlanan kullanıcı kimlik bilgileri.
- 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 senkron hem de asenkron yöntemler içeren bir ServiceClient nesnesi bulunur. Aşağıdaki örnek, Network öğesini eşzamanlı olarak okur. Tüm varlıklar, varlığın türü ve sayısal tanımlayıcısından oluşan bir kaynak adı ile 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öntemler ve kaynaklarla ilgili örnekler için GitHub deposuna
googleapis/google-cloud-dotnet göz atı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ıklanı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ığı, HttpClient.DefaultProxy özelliğine uyar. Bu kapsamda, HTTP_PROXY ve HTTPS_PROXY ortam değişkenlerinden proxy'ler ayarlanır. Daha fazla bilgi için HttpClient.DefaultProxy Property başlıklı makaleyi inceleyin.