أمثلة على مكتبة عملاء Address Validation API

تتضمّن هذه الصفحة أمثلة على كيفية استخدام مكتبات عملاء Address Validation API لمحاولة الاتصال بالخدمات التالية:

تثبيت مكتبات البرامج

اطّلِع على مكتبات برمجة تطبيقات واجهة Address Validation API العميلة للحصول على تعليمات التثبيت.

المصادقة

عند استخدام مكتبات البرامج، يتم استخدام بيانات الاعتماد التلقائية للتطبيق (ADC) للمصادقة. للحصول على معلومات عن إعداد "بيانات اعتماد التطبيق التلقائية"، يُرجى الاطّلاع على مقالة تقديم بيانات اعتماد "بيانات الاعتماد التلقائية للتطبيق". للحصول على معلومات عن استخدام واجهة برمجة التطبيقات للعملاء مع مكتبات العميل، يُرجى الاطّلاع على مقالة المصادقة باستخدام مكتبات العميل.

يمكنك أيضًا استخدام مفاتيح واجهة برمجة التطبيقات للمصادقة مع مكتبات العميل، على سبيل المثال:

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

عند استخدام مفاتيح واجهة برمجة التطبيقات في تطبيقاتك، احرص على الحفاظ على أمانها أثناء التخزين والإرسال. يمكن أن يؤدي الكشف عن مفاتيح واجهة برمجة التطبيقات بشكل علني إلى تحصيل رسوم غير متوقّعة من حسابك.

تستخدِم الأمثلة الواردة في هذه الصفحة "بيانات الاعتماد التلقائية للتطبيق".

أمثلة

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

حدِّد عنصر PostalAddress يتضمّن حقول عناوين مكوّنة مثل RegionCode وLocality وAddressLines. عند إنشاء نموذج الطلب، يُستخدَم هذا العنصر 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 لإرسال معلومات عن النتيجة النهائية لتسلسل التحقّق من العنوان. يتطلّب الطلب Conclusion لتحديد ما إذا كان قد تم استخدام عنوان المستخدم الأصلي أو العنوان الذي تم التحقّق منه في Google. من المهم أيضًا تقديم ResponseId الذي تم الحصول عليه من ValidateAddressResponse الأولي لربط الملاحظات بال transaction الصحيحة.