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 elijas 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 autenticarse.
ADC busca las credenciales en orden en las siguientes ubicaciones:
- Con la 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 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 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
.
Cómo solucionar 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 extrae 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 crear nombres de recursos
La biblioteca cliente proporciona clases de ayuda para compilar nombres de recursos a partir de los IDs. Se pueden pasar directamente a los métodos del servicio.
// Represents a resource name in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);