Contoh library klien Address Validation API

Halaman ini berisi contoh cara menggunakan library klien Address Validation API untuk memanggil layanan berikut:

Menginstal library klien

Lihat Library klien Address Validation API untuk petunjuk penginstalan.

Authentication

Saat menggunakan library klien, Anda menggunakan Kredensial Default Aplikasi (ADC) untuk melakukan autentikasi. Untuk informasi tentang cara menyiapkan ADC, lihat Memberikan kredensial untuk Kredensial Default Aplikasi. Untuk informasi tentang cara menggunakan ADC dengan library klien, lihat Autentikasi menggunakan library klien.

Anda juga dapat menggunakan kunci API untuk melakukan autentikasi ke library klien, misalnya:

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

Saat Anda menggunakan kunci API di aplikasi, pastikan kunci tersebut tetap aman selama penyimpanan dan transmisi. Menampilkan kunci API kepada publik dapat menyebabkan tagihan tidak terduga pada akun Anda.

Contoh di halaman ini menggunakan Kredensial Default Aplikasi.

Contoh

validateAddress

Berikut adalah contoh cara memanggil validateAddress menggunakan library klien.

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

Tentukan objek PostalAddress dengan kolom alamat yang dikomposisikan seperti RegionCode, Locality, dan AddressLines. Saat mem-build contoh permintaan, PostalAddress ini digunakan untuk membuat ValidateAddressRequest. Metode ValidateAddressAsync kemudian dipanggil untuk membuat permintaan, dan detail dari respons seperti ValidationGranularity dan FormattedAddress adalah output.

provideValidationFeedback

Berikut adalah contoh cara memanggil provideValidationFeedback menggunakan library klien.

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

Buat ProvideValidationFeedbackRequest untuk mengirim informasi tentang hasil akhir urutan validasi alamat. Permintaan ini memerlukan Conclusion untuk menentukan apakah alamat asli pengguna atau alamat yang divalidasi Google digunakan. Yang terpenting, Anda juga harus memberikan ResponseId yang diperoleh dari ValidateAddressResponse awal untuk menautkan masukan ke transaksi yang benar.