Google udostępnia bibliotekę klienta .NET do interakcji z interfejsem API Ad Managera. Zalecamy używanie biblioteki klienta z NuGet.
Aby rozpocząć, utwórz nowy projekt w wybranym 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 używa do uwierzytelniania protokołu OAuth2 i domyślnego uwierzytelniania aplikacji (ADC).
ADC szuka danych logowania w kolejności podanej poniżej:
GOOGLE_APPLICATION_CREDENTIALSzmienna środowiskowa.- Dane logowania użytkownika skonfigurowane za pomocą interfejsu wiersza poleceń gcloud.
- Gdy usługa jest uruchomiona w Google Cloud, jest to konto usługi dołączone do zasobu Google Cloud.
Informacje o tworzeniu i konfigurowaniu danych logowania ADC znajdziesz w sekcji Uwierzytelnianie.
Prześlij pierwszą prośbę
Każda usługa ma obiekt ServiceClient z metodami synchronicznymi i asynchronicznymi dla każdej metody REST. W tym przykładzie odczytujemy Network synchronicznie. Wszystkie elementy są identyfikowane za pomocą nazwy zasobu, która składa się z typu i numerycznego 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ługuj błędy
Wszystkie błędy interfejsu API Ad Managera w bibliotece klienta.NET mają typ Grpc.Core.RpcException.
Błędy zawierają unikalny request_id, który możesz przekazać 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);
Konfigurowanie ustawień serwera proxy
Biblioteka klienta .NET uwzględnia właściwość HttpClient.DefaultProxy, w tym ustawianie serwerów proxy na podstawie zmiennych środowiskowych HTTP_PROXY i HTTPS_PROXY. Więcej informacji znajdziesz w artykule HttpClient.DefaultProxy Property.