.NET

Google udostępnia bibliotekę klienta .NET do interakcji z interfejsem Ad Manager API. Zalecamy użycie biblioteki klienta z NuGet.

Aby rozpocząć, utwórz nowy projekt w wybranym środowisku IDE lub dodaj zależność do istniejącego projektu. Google publikuje artefakty biblioteki klienta w repozytorium NuGet jako Google.Ads.AdManager.V1.

Odniesienie do pakietu

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

Konfigurowanie danych logowania

Biblioteka klienta .NET do uwierzytelniania używa protokołu OAuth 2 i domyślnych danych logowania aplikacji (ADC).

ADC wyszukuje dane logowania w tych miejscach:

  1. zmiennej środowiskowej GOOGLE_APPLICATION_CREDENTIALS.
  2. Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń Google Cloud (gcloud CLI).
  3. W przypadku uruchamiania w Google Cloud – konto usługi powiązane ze zasobem Google Cloud.

Informacje o tworzeniu i konfigurowaniu danych logowania do ADC znajdziesz w sekcji Uwierzytelnianie.

Przesyłanie pierwszej prośby

Każda usługa ma obiekt ServiceClient z metodami synchronicznymi i asynchronicznymi dla każdej metody REST. W tym przykładzie odczytujemy za pomocą funkcji asynchronicznej Network. Wszystkie elementy są identyfikowane za pomocą nazwy zasobu, która składa się z typu i liczbowego identyfikatora elementu.

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

Przykłady innych metod i zasobów znajdziesz w repozytorium GitHub googleapis/google-cloud-dotnet.

Obsługa błędów

Wszystkie błędy interfejsu Ad Manager API są typu Grpc.Core.RpcException w bibliotece klienta .NET.

Błędy zawierają unikalny identyfikator request_id, który możesz podać zespołowi pomocy, aby uzyskać pomoc w rozwiązywaniu problemów. W tym przykładzie wyodrębniamy stan HTTP, komunikat o błędzie i 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";
}

Tworzenie nazw zasobów

Biblioteka klienta udostępnia klasy pomocnicze do tworzenia nazw zasobów na podstawie identyfikatorów. Można je przekazywać bezpośrednio do metod usługi.

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