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-beta01" />
CLI de .NET
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
Configura las credenciales
La biblioteca cliente de .NET usa OAuth2 y las credenciales predeterminadas de la aplicación (ADC) para la autenticación.
ADC busca las credenciales en orden en las siguientes ubicaciones:
- Variable de entorno
GOOGLE_APPLICATION_CREDENTIALS - Credenciales de usuario configuradas a través de Google Cloud CLI (gcloud CLI)
- Cuando se ejecuta en Google Cloud, la cuenta de servicio adjunta 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";
}
Cómo construir nombres de recursos
La biblioteca cliente proporciona clases de ayuda 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, incluida la configuración de proxies a partir de las variables de entorno HTTP_PROXY y HTTPS_PROXY. Para obtener más detalles, consulta la propiedad HttpClient.DefaultProxy.