Esempi di libreria client dell'API Address Validation

Questa pagina contiene esempi di come utilizzare le librerie client dell'API Address Validation per chiamare i seguenti servizi:

Installazione delle librerie client

Per le istruzioni di installazione, consulta le librerie client dell'API Address Validation.

Autenticazione

Quando utilizzi le librerie client, utilizzi le credenziali predefinite dell'applicazione (ADC) per l'autenticazione. Per informazioni sulla configurazione delle credenziali predefinite dell'applicazione, consulta Fornire le credenziali per le credenziali predefinite dell'applicazione. Per informazioni sull'utilizzo di ADC con le librerie client, consulta Autenticazione mediante librerie client.

Puoi anche utilizzare le chiavi API per autenticarti nelle librerie client, ad esempio:

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();

Quando utilizzi le chiavi API nelle tue applicazioni, assicurati che vengano protette sia durante lo stoccaggio sia durante la trasmissione. L'esposizione pubblica delle chiavi API può comportare addebiti imprevisti sul tuo account.

Gli esempi in questa pagina utilizzano le Credenziali predefinite dell'applicazione.

Esempi

validateAddress

Di seguito è riportato un esempio di come chiamare validateAddress utilizzando la libreria client.

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}");
    }
}

Definisci un oggetto PostalAddress con campi di indirizzi componenti come RegionCode, Locality e AddressLines. Quando crei la richiesta di esempio, questo PostalAddress viene utilizzato per creare un ValidateAddressRequest. Viene quindi chiamato il metodo ValidateAddressAsync per effettuare la richiesta e vengono visualizzati i dettagli della risposta, come ValidationGranularity e FormattedAddress.

provideValidationFeedback

Di seguito è riportato un esempio di come chiamare provideValidationFeedback utilizzando la libreria client.

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 per inviare informazioni sul risultato finale di una sequenza di convalida dell'indirizzo. La richiesta richiede un Conclusion per specificare se è stato utilizzato l'indirizzo originale dell'utente o l'indirizzo verificato di Google. È fondamentale fornire anche il ResponseId ottenuto dal ValidateAddressResponse iniziale per collegare il feedback alla transazione corretta.