Bu sayfada, aşağıdaki hizmetleri çağırmak için Adres Doğrulama API istemci kitaplıklarının nasıl kullanılacağına dair örnekler verilmiştir:
İstemci kitaplıklarını yükleme
Yükleme talimatları için Address Validation API istemci kitaplıkları başlıklı makaleyi inceleyin.
Kimlik doğrulama
İstemci kitaplıklarını kullandığınızda kimlik doğrulamak için Uygulama Varsayılan Kimlik Bilgileri (ADC)'ni kullanırsınız. ADC'yi ayarlama hakkında bilgi edinmek için Uygulama Varsayılan Kimlik Bilgileri için kimlik bilgileri sağlama başlıklı makaleyi inceleyin. İstemci kitaplıklarıyla ADC'yi kullanma hakkında bilgi edinmek için İstemci kitaplıklarını kullanarak kimlik doğrulama başlıklı makaleyi inceleyin.
İstemci kitaplıklarında kimlik doğrulaması yapmak için API anahtarlarını da kullanabilirsiniz. Örneğin:
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();
Uygulamalarınızda API anahtarlarını kullanırken hem depolama hem de iletim sırasında güvenli bir şekilde saklandığından emin olun. API anahtarlarınızı herkese açık olarak göstermek, hesabınızda beklenmedik ücretlere neden olabilir.
Bu sayfadaki örneklerde Uygulama Varsayılan Kimlik Bilgileri kullanılmaktadır.
Örnekler
validateAddress
Aşağıda, .NET istemci kitaplığı kullanılarak
validateAddress
işlevinin nasıl çağrılacağına dair bir örnek verilmiştir.
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}");
}
}
PostalAddress
, Locality
ve AddressLines
gibi bileşenlere ayrılmış adres alanları içeren bir RegionCode
nesnesi tanımlayın. Örnek isteği oluştururken PostalAddress
, ValidateAddressRequest
oluşturmak için kullanılır. Ardından, isteği yapmak için ValidateAddressAsync
yöntemi çağrılır ve yanıttaki ValidationGranularity
ve FormattedAddress
gibi ayrıntılar çıkış olarak verilir.
provideValidationFeedback
Aşağıda, .NET istemci kitaplığı kullanılarak
provideValidationFeedback
işlevinin nasıl çağrılacağına dair bir örnek verilmiştir.
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}");
}
}
Adres doğrulama dizisinin nihai sonucuyla ilgili bilgileri göndermek için ProvideValidationFeedbackRequest
oluşturun. İstek, kullanıcının orijinal adresinin mi yoksa Google'ın doğruladığı adresin mi kullanıldığını belirtmek için Conclusion
gerektirir. En önemlisi, geri bildirimi doğru işlemle ilişkilendirmek için ilk ValidateAddressResponse
işleminden elde edilen ResponseId
değerini de sağlamanız gerekir.