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
, Locality
và AddressLines
. 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ư ValidationGranularity
và FormattedAddress
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.