Ví dụ về thư viện ứng dụng Address Validation API

Trang này có các ví dụ về cách sử dụng thư viện ứng dụng Address Validation API để gọi các dịch vụ sau:

Cài đặt thư viện ứng dụng

Hãy xem thư viện ứng dụng API Xác thực địa chỉ để biết hướng dẫn cài đặt.

Xác thực

Khi sử dụng thư viện ứng dụng, bạn sẽ sử dụng Thông tin xác thực mặc định của ứng dụng (ADC) để xác thực. Để biết thông tin về cách thiết lập ADC, hãy xem phần Cung cấp thông tin xác thực cho Thông tin xác thực mặc định của ứng dụng. Để biết thông tin về cách sử dụng ADC với thư viện ứng dụng, hãy xem phần Xác thực bằng thư viện ứng dụng.

Bạn cũng có thể sử dụng khoá API để xác thực với các thư viện ứng dụng, ví dụ:

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

Khi bạn sử dụng khoá API trong ứng dụng, hãy đảm bảo rằng các khoá đó được bảo mật trong cả quá trình lưu trữ và truyền tải. Việc tiết lộ khoá API công khai có thể dẫn đến các khoản phí ngoài mong muốn trên tài khoản của bạn.

Các ví dụ trên trang này sử dụng Thông tin xác thực mặc định của ứng dụng.

Ví dụ

validateAddress

Sau đây là ví dụ về cách gọi validateAddress bằng thư viện ứng dụng.

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

Xác định đối tượng PostalAddress có các trường địa chỉ được thành phần hoá như RegionCode, LocalityAddressLines. Khi tạo yêu cầu mẫu, PostalAddress này được dùng để tạo ValidateAddressRequest. Sau đó, phương thức ValidateAddressAsync được gọi để thực hiện yêu cầu và thông tin chi tiết từ phản hồi như ValidationGranularityFormattedAddress sẽ được xuất ra.

provideValidationFeedback

Sau đây là ví dụ về cách gọi provideValidationFeedback bằng thư viện ứng dụng.

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

Tạo ProvideValidationFeedbackRequest để gửi thông tin về kết quả cuối cùng của một trình tự xác thực địa chỉ. Yêu cầu này yêu cầu Conclusion để chỉ định xem đã sử dụng địa chỉ ban đầu của người dùng hay địa chỉ đã được Google xác thực. Quan trọng là bạn cũng phải cung cấp ResponseId thu được từ ValidateAddressResponse ban đầu để liên kết ý kiến phản hồi với giao dịch chính xác.