Ejemplos de bibliotecas cliente de la API de Address Validation

En esta página, se incluyen ejemplos de cómo usar las bibliotecas cliente de la API de Address Validation para llamar a los siguientes servicios:

Instala las bibliotecas cliente

Consulta las bibliotecas cliente de la API de Address Validation para obtener instrucciones de instalación.

Autenticación

Cuando usas bibliotecas cliente, debes usar las credenciales predeterminadas de la aplicación (ADC) para autenticarte. Para obtener información sobre la configuración de ADC, consulta Proporciona credenciales para las credenciales predeterminadas de la aplicación. Para obtener más información sobre el uso de ADC con bibliotecas cliente, consulta Autentícate mediante bibliotecas cliente.

También puedes usar claves de API para autenticarte en las bibliotecas cliente, por ejemplo:

using Google.Maps.AddressValidation.V1;
using Google.Api.Gax.Grpc;
using Grpc.Core;
...
// Create settings to pass the API key as a header in every request.
var apiHeader = CallSettings.FromHeader("X-Goog-Api-Key", "API_KEY");
var defaultSettings = AddressValidationSettings.GetDefault();
var settings = new AddressValidationSettings
{
    ValidateAddressSettings = defaultSettings.ValidateAddressSettings.MergedWith(apiHeader),
    ProvideValidationFeedbackSettings = defaultSettings.ProvideValidationFeedbackSettings.MergedWith(apiHeader)
};
// Create a client builder with the custom settings.
AddressValidationClientBuilder builder = new AddressValidationClientBuilder
{
    Settings = settings,
    // Use SslCredentials to create a secure channel for API key authentication.
    ChannelCredentials = new SslCredentials()
};
AddressValidationClient client = await builder.BuildAsync();

Cuando uses claves de API en tus aplicaciones, asegúrate de que se mantengan seguras durante el almacenamiento y la transmisión. Si expones tus claves de API de forma pública, puedes generar cargos inesperados en tu cuenta.

En los ejemplos de esta página, se usan las credenciales predeterminadas de la aplicación.

Ejemplos

validateAddress

El siguiente es un ejemplo de cómo llamar a validateAddress con la biblioteca cliente.

using Google.Maps.AddressValidation.V1;
using Google.Type;
...
private static async Task CallAddressValidation()
{
    // Create the Address Validation Client
    AddressValidationClient client = await AddressValidationClient.CreateAsync();
    // Define the request with the address to be validated
    var request = new ValidateAddressRequest
    {
        Address = new PostalAddress
        {
            RegionCode = "US",
            LanguageCode = "en",
            PostalCode = "94043",
            AdministrativeArea = "CA",
            Locality = "Mountain View",
            AddressLines = { "1600 Amphitheatre Parkway" }
        }
    };
    try
    {
        // Call the API asynchronously
        ValidateAddressResponse response = await client.ValidateAddressAsync(request);
        // Process the results
        Console.WriteLine($"Validation Granularity: {response.Result.Verdict.ValidationGranularity}");
        Console.WriteLine($"Formatted Address: {response.Result.Address.FormattedAddress}");
        Console.WriteLine($"Response ID: {response.ResponseId}");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"An error occurred: {ex.Message}");
    }
}

Define un objeto PostalAddress con campos de dirección divididos en componentes, como RegionCode, Locality y AddressLines. Cuando se compila la solicitud de ejemplo, esta PostalAddress se usa para crear un ValidateAddressRequest. Luego, se llama al método ValidateAddressAsync para realizar la solicitud, y se muestran los detalles de la respuesta, como ValidationGranularity y FormattedAddress.

provideValidationFeedback

El siguiente es un ejemplo de cómo llamar a provideValidationFeedback con la biblioteca cliente.

using Google.Maps.AddressValidation.V1;
...
private static async Task ProvideValidationFeedback()
{
    AddressValidationClient client = await AddressValidationClient.CreateAsync();

    var feedbackRequest = new ProvideValidationFeedbackRequest
    {
        // Set the conclusion based on the user's choice. This exampels uses ValidatedVersionUsed
        Conclusion = ProvideValidationFeedbackRequest.Types.ValidationConclusion.ValidatedVersionUsed,
        // Provide the ID from the validation response.
        ResponseId = "Response_ID"
    };
    try
    {
        Console.WriteLine("Sending feedback to the API");
        // This call returns an empty response on success.
        await client.ProvideValidationFeedbackAsync(feedbackRequest);
        Console.WriteLine(" -> Feedback sent successfully!");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"An error occurred: {ex.Message}");
    }
}

Crea un ProvideValidationFeedbackRequest para enviar información sobre el resultado final de una secuencia de validación de direcciones. La solicitud requiere un Conclusion para especificar si se usó la dirección original del usuario o la dirección validada de Google. Es fundamental que también proporciones el ResponseId obtenido del ValidateAddressResponse inicial para vincular los comentarios a la transacción correcta.