Address Validation API client library examples

This page has examples of how to use the Address Validation API client libraries to call the following services:

Install the client libraries

See Address Validation API client libraries for installation instructions.

Authentication

When you use client libraries, you use Application Default Credentials (ADC) to authenticate. For information about setting up ADC, see Provide credentials for Application Default Credentials . For information about using ADC with client libraries, see Authenticate using client libraries .

You can also use API keys to authenticate to the client libraries, for example:

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

When you use API keys in your applications, make sure that they are kept secure during both storage and transmission. Publicly exposing your API keys can lead to unexpected charges on your account.

The examples on this page use Application Default Credentials.

Examples

validateAddress

The following is an example of how to call validateAddress using the .NET client library.

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

Define a PostalAddress object with componentized address fields like RegionCode , Locality , and AddressLines . When building the example request, this PostalAddress is used to create a ValidateAddressRequest . The ValidateAddressAsync method is then called to make the request, and details from the response like the ValidationGranularity and the FormattedAddress are output.

provideValidationFeedback

The following is an example of how to call provideValidationFeedback using the .NET client library.

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

Create a ProvideValidationFeedbackRequest to send information about the final outcome of an address validation sequence. The request requires a Conclusion to specify whether the user's original address or Google's validated address was used. Crucially, you must also provide the ResponseId obtained from the initial ValidateAddressResponse to link the feedback to the correct transaction.

Create a Mobile Website
View Site in Mobile | Classic
Share by: