.NET

O Google oferece uma biblioteca de cliente .NET para interagir com a API Ad Manager. Recomendamos usar a biblioteca de cliente com o NuGet.

Para começar, crie um novo projeto no ambiente de desenvolvimento integrado (IDE) que você escolher ou adicione a dependência a um projeto existente. O Google publica artefatos de biblioteca de cliente no repositório NuGet como Google.Ads.AdManager.V1.

Referência do pacote

<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />

CLI do .NET

dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01

Configurar credenciais

A biblioteca de cliente .NET usa o OAuth2 e o Application Default Credentials (ADC) para autenticação.

O ADC procura credenciais na seguinte ordem:

  1. variável de ambiente GOOGLE_APPLICATION_CREDENTIALS.
  2. Credenciais do usuário configuradas pela CLI do Google Cloud (CLI gcloud).
  3. Quando executado no Google Cloud, a conta de serviço anexada ao recurso do Google Cloud.

Para criar e configurar suas credenciais do ADC, consulte Autenticação.

Faça sua primeira solicitação

Cada serviço tem um objeto ServiceClient com métodos síncronos e assíncronos para cada método REST. O exemplo a seguir lê um Network de forma síncrona. Todas as entidades são identificadas por um nome de recurso que consiste no tipo e no identificador numérico da entidade.

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

Para conferir exemplos de outros métodos e recursos, consulte o repositório do GitHub googleapis/google-cloud-dotnet.

Solucionar erros

Todos os erros da API Ad Manager são do tipo Grpc.Core.RpcException na biblioteca de cliente .NET.

Os erros incluem um request_id exclusivo que você pode fornecer ao suporte para receber ajuda na solução de problemas. O exemplo a seguir extrai o status HTTP, a mensagem de erro 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";
}

Criar nomes de recursos

A biblioteca de cliente fornece classes auxiliares para criar nomes de recursos a partir de IDs. Eles podem ser transmitidos diretamente para métodos de serviço.

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