ตัวอย่างไลบรารีของไคลเอ็นต์ Address Validation API

หน้านี้มีตัวอย่างวิธีใช้ไลบรารีของไคลเอ็นต์ 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}");
    }
}

กำหนดออบเจ็กต์ 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 เริ่มต้นเพื่อลิงก์ความคิดเห็นกับธุรกรรมที่ถูกต้อง