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:
- variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
. - Credenciais do usuário configuradas pela CLI do Google Cloud (CLI gcloud).
- 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);