Google fornisce una libreria client .NET per interagire con l'API Ad Manager. Ti consigliamo di utilizzare la libreria client con NuGet.
Per iniziare, crea un nuovo progetto nell'IDE che preferisci o aggiungi la dipendenza a un progetto esistente. Google pubblica gli elementi della libreria client nel
repository NuGet come
Google.Ads.AdManager.V1
.
Riferimento pacchetto
<!-- 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
Configura le credenziali
La libreria client .NET utilizza OAuth2 e le credenziali predefinite dell'applicazione (ADC) per l'autenticazione.
ADC cerca le credenziali nell'ordine seguente:
GOOGLE_APPLICATION_CREDENTIALS
.- Credenziali utente configurate tramite Google Cloud CLI (gcloud CLI).
- Quando viene eseguito su Google Cloud, l'account di servizio collegato alla risorsa Google Cloud.
Per creare e configurare le credenziali ADC, consulta Autenticazione.
Effettua la tua prima richiesta
Ogni servizio ha un oggetto ServiceClient
con metodi sia sincroni che asincroni per ogni metodo REST. L'esempio seguente legge un Network
in modo sincrono. Tutte le entità sono identificate da un
nome della risorsa costituito dal tipo e dall'identificatore numerico
dell'entità.
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);
}
}
Per esempi di altri metodi e risorse, consulta il repository GitHub
googleapis/google-cloud-dotnet
.
Gestire gli errori
Tutti gli errori dell'API Ad Manager sono di tipo Grpc.Core.RpcException nella libreria client .NET.
Gli errori includono un request_id
univoco che puoi fornire all'assistenza per ricevere aiuto per la risoluzione dei problemi. L'esempio seguente estrae lo stato HTTP, il messaggio di errore e 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";
}
Crea i nomi delle risorse
La libreria client fornisce classi di supporto per creare nomi di risorse dagli ID. Questi possono essere passati direttamente ai metodi di servizio.
// Represents a resource name in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);