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 Address Validation API để 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ẽ 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ể 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 các ứng dụng của mình, hãy đảm bảo rằng khoá API được bảo mật trong cả quá trình lưu trữ và truyền tải. Việc công khai các khoá API có thể dẫn đến các khoản phí ngoài mong muốn trong 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à một ví dụ về cách gọi validateAddress bằng thư viện ứng dụng .NET.

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 một đối tượng PostalAddress bằng các trường địa chỉ theo thành phần 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 sẽ được gọi để đưa ra yêu cầu và các thông tin chi tiết từ phản hồi như ValidationGranularityFormattedAddress sẽ được xuất ra.

provideValidationFeedback

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

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 một ProvideValidationFeedbackRequest để gửi thông tin về kết quả cuối cùng của một chuỗi xác thực địa chỉ. Yêu cầu này cần có Conclusion để chỉ định xem địa chỉ ban đầu của người dùng hay địa chỉ đã được Google xác thực được dùng. Điều quan trọng là bạn cũng phải cung cấp ResponseId nhận được từ ValidateAddressResponse ban đầu để liên kết ý kiến phản hồi với giao dịch chính xác.