このページでは、Address Validation API クライアント ライブラリを使用して次のサービスを呼び出す方法の例を示します。
クライアント ライブラリのインストール
インストール手順については、Address Validation API クライアント ライブラリをご覧ください。
認証
クライアント ライブラリを使用する場合は、アプリケーションのデフォルト認証情報(ADC)を使用して認証を行います。ADC の設定については、アプリケーションのデフォルト認証情報に認証情報を提供するをご覧ください。クライアント ライブラリで ADC を使用する方法については、クライアント ライブラリを使用して認証するをご覧ください。
API キーを使用してクライアント ライブラリの認証を行うこともできます。次に例を示します。
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();
アプリケーションで API キーを使用する場合は、保存時と転送時の両方でキーの安全確保に努めてください。API キーが公開されると、アカウントに対して予想外の料金が課される可能性があります。
このページの例では、アプリケーションのデフォルト認証情報を使用します。
例
validateAddress
クライアント ライブラリを使用して validateAddress
を呼び出す方法の例を次に示します。
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}");
}
}
コンポーネント化されたアドレス フィールド(RegionCode
、Locality
、AddressLines
など)を使用して PostalAddress
オブジェクトを定義します。サンプル リクエストを作成するときに、この PostalAddress
を使用して ValidateAddressRequest
を作成します。次に、ValidateAddressAsync
メソッドが呼び出され、リクエストが行われます。レスポンスから ValidationGranularity
や FormattedAddress
などの詳細が出力されます。
provideValidationFeedback
クライアント ライブラリを使用して provideValidationFeedback
を呼び出す方法の例を次に示します。
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}");
}
}
ProvideValidationFeedbackRequest
を作成して、住所検証シーケンスの最終的な結果に関する情報を送信します。リクエストには、ユーザーの元の住所と Google の検証済み住所のどちらが使用されたかを指定する Conclusion
が必要です。重要なのは、フィードバックを正しいトランザクションにリンクするために、最初の ValidateAddressResponse
から取得した ResponseId
も指定する必要があります。