.NET

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:

  1. Variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS.
  2. Credenziali utente configurate tramite Google Cloud CLI (gcloud CLI).
  3. 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.