Beispiele für Clientbibliotheken der Address Validation API

Auf dieser Seite finden Sie Beispiele dafür, wie Sie mit den Clientbibliotheken der Address Validation API die folgenden Dienste aufrufen:

Clientbibliotheken installieren

Eine Anleitung zur Installation finden Sie unter Address Validation API-Clientbibliotheken.

Authentifizierung

Wenn Sie Clientbibliotheken verwenden, authentifizieren Sie sich mit Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC). Informationen zum Einrichten von ADC finden Sie unter Anmeldedaten für Standardanmeldedaten für Anwendungen bereitstellen. Informationen zur Verwendung von ADC mit Clientbibliotheken finden Sie unter Mit Clientbibliotheken authentifizieren.

Sie können auch API-Schlüssel verwenden, um sich bei den Clientbibliotheken zu authentifizieren, z. B.:

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

Wenn Sie API-Schlüssel in Ihren Anwendungen verwenden, achten Sie darauf, dass sie sowohl beim Speichern als auch bei der Übertragung sicher sind. Wenn Sie Ihre API-Schlüssel öffentlich freigeben, kann dies zu unerwarteten Kosten in Ihrem Konto führen.

In den Beispielen auf dieser Seite werden Standardanmeldedaten für Anwendungen verwendet.

Beispiele

validateAddress

Im Folgenden finden Sie ein Beispiel für den Aufruf von validateAddress mithilfe der Clientbibliothek.

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

Definieren Sie ein PostalAddress-Objekt mit komponentizierten Adressfeldern wie RegionCode, Locality und AddressLines. Beim Erstellen der Beispielanfrage wird diese PostalAddress verwendet, um eine ValidateAddressRequest zu erstellen. Die Methode ValidateAddressAsync wird dann aufgerufen, um die Anfrage zu stellen, und Details aus der Antwort wie ValidationGranularity und FormattedAddress werden ausgegeben.

provideValidationFeedback

Im Folgenden finden Sie ein Beispiel für den Aufruf von provideValidationFeedback mithilfe der Clientbibliothek.

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

Erstellen Sie eine ProvideValidationFeedbackRequest, um Informationen zum endgültigen Ergebnis einer Adressbestätigungssequenz zu senden. In der Anfrage muss mithilfe eines Conclusion angegeben werden, ob die ursprüngliche Adresse des Nutzers oder die von Google bestätigte Adresse verwendet wurde. Außerdem müssen Sie die ResponseId angeben, die Sie aus der ursprünglichen ValidateAddressResponse erhalten haben, um das Feedback mit der richtigen Transaktion zu verknüpfen.