דוגמאות לספריות לקוח של Address Validation API

בדף הזה יש דוגמאות לשימוש בספריות הלקוח של Address Validation API כדי לקרוא לשירותים הבאים:

התקנת ספריות הלקוח

הוראות ההתקנה מופיעות במאמר ספריות לקוח של Address Validation API.

אימות

כשמשתמשים בספריות לקוח, משתמשים ב-Application Default Credentials ‏(ADC) כדי לבצע אימות. במאמר איך מספקים פרטי כניסה ל-Application Default Credentials מוסבר איך להגדיר 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 באופן ציבורי עלולה לגרום לחיובים לא צפויים בחשבון שלכם.

בדוגמאות שבדף הזה נעשה שימוש ב-Application Default Credentials.

דוגמאות

validateAddress

בדוגמה הבאה מוצג איך להפעיל את 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

בדוגמה הבאה מוצג איך להפעיל את 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 כדי לקבוע אם נעשה שימוש בכתובת המקורית של המשתמש או בכתובת שאומתה על ידי Google. חשוב מאוד לציין גם את ResponseId שקיבלתם מהValidateAddressResponse הראשוני כדי לקשר את המשוב לעסקה הנכונה.