Google proporciona una biblioteca cliente de .NET para interactuar con la API de Ad Manager. Te recomendamos que uses la biblioteca cliente con NuGet.
Para comenzar, crea un proyecto nuevo en el IDE que prefieras o agrega la dependencia a un proyecto existente. Google publica artefactos de bibliotecas cliente en
el repositorio de NuGet como
Google.Ads.AdManager.V1.
Referencia del paquete
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta13" />
CLI de .NET
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta13
Configura las credenciales
La biblioteca cliente de .NET usa OAuth2 y las credenciales predeterminadas de la aplicación (ADC) para autenticarse.
ADC busca las credenciales en orden en las siguientes ubicaciones:
- Variable de entorno
GOOGLE_APPLICATION_CREDENTIALS. - Credenciales de usuario configuradas con Google Cloud CLI (gcloud CLI)
- Cuando se ejecuta en Google Cloud, la cuenta de servicio conectada al recurso de Google Cloud.
Para crear y configurar tus credenciales de ADC, consulta Autenticación.
Realiza tu primera solicitud
Cada servicio tiene un objeto ServiceClient con métodos síncronos y asíncronos
para cada método de REST. En el siguiente ejemplo, se lee un Network
de forma síncrona. Todas las entidades se identifican con un
nombre de recurso que consta del tipo y el identificador
numérico de la entidad.
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 ver ejemplos de otros métodos y recursos, consulta el repositorio de GitHub
googleapis/google-cloud-dotnet.
Soluciona errores
Todos los errores de la API de Ad Manager son del tipo Grpc.Core.RpcException en la biblioteca cliente de .NET.
Los errores incluyen un request_id único que puedes
proporcionar al equipo de asistencia para obtener ayuda con
la solución de problemas. En el siguiente ejemplo, se extraen el estado HTTP, el mensaje de error
y 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 nombres de recursos
La biblioteca cliente proporciona clases auxiliares para compilar nombres de recursos a partir de IDs. Estos se pueden pasar directamente a los métodos de servicio.
// Represents a resource name in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);
Establece la configuración del proxy
La biblioteca cliente de .NET respeta la propiedad HttpClient.DefaultProxy,
lo que incluye configurar proxies desde las variables de entorno HTTP_PROXY y
HTTPS_PROXY. Para obtener más detalles, consulta la propiedad HttpClient.DefaultProxy.