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 artefatti della libreria client nel repository NuGet come
Google.Ads.AdManager.V1.
Riferimento al pacchetto
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />
CLI .NET
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
Configurare le credenziali
La libreria client .NET utilizza OAuth2 e Credenziali predefinite dell'applicazione (ADC) per l'autenticazione.
ADC cerca le credenziali in ordine nelle seguenti posizioni:
- Variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS. - Credenziali utente configurate tramite Google Cloud CLI (gcloud CLI).
- Quando viene eseguito su Google Cloud, il service account collegato alla risorsa Google Cloud.
Per creare e configurare le credenziali ADC, consulta Autenticazione.
Effettuare la prima richiesta
Ogni servizio ha un oggetto ServiceClient con metodi sincroni e asincroni per ogni metodo REST. L'esempio seguente legge una Network
in modo sincrono. Tutte le entità sono identificate da un
nome risorsa composto 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 risolvere i 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";
}
Costruire i nomi delle risorse
La libreria client fornisce classi helper 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);
Configurare le impostazioni del proxy
La libreria client .NET rispetta la proprietà HttpClient.DefaultProxy, inclusa l'impostazione dei proxy dalle variabili di ambiente HTTP_PROXY e HTTPS_PROXY. Per maggiori dettagli, vedi
Proprietà HttpClient.DefaultProxy.