این صفحه نمونههایی از نحوه استفاده از کتابخانههای کلاینت API اعتبارسنجی آدرس برای فراخوانی سرویسهای زیر را ارائه میدهد:
کتابخانههای کلاینت را نصب کنید
برای دستورالعملهای نصب، به کتابخانههای کلاینت 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 با استفاده از کتابخانه کلاینت .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}");
}
}
یک شیء PostalAddress با فیلدهای آدرس کامپوننتبندی شده مانند RegionCode ، Locality و AddressLines تعریف کنید. هنگام ساخت درخواست نمونه، از این PostalAddress برای ایجاد یک ValidateAddressRequest استفاده میشود. سپس متد ValidateAddressAsync برای ایجاد درخواست فراخوانی میشود و جزئیاتی از پاسخ مانند ValidationGranularity و FormattedAddress خروجی داده میشوند.
ارائه اعتبارسنجیبازخورد
در ادامه مثالی از نحوه فراخوانی provideValidationFeedback با استفاده از کتابخانه کلاینت .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}");
}
}
یک ProvideValidationFeedbackRequest ایجاد کنید تا اطلاعاتی در مورد نتیجه نهایی یک توالی اعتبارسنجی آدرس ارسال شود. این درخواست به یک Conclusion نیاز دارد تا مشخص کند که آیا از آدرس اصلی کاربر یا آدرس معتبر گوگل استفاده شده است. نکته مهم این است که شما باید ResponseId به دست آمده از ValidateAddressResponse اولیه را نیز ارائه دهید تا بازخورد به تراکنش صحیح مرتبط شود.