0

サンプル API を使用してみましたが、一部のパラメーターが欠落しているようです。これは私が試したAPIです。

        public W_AddressStateCity GetAddressStateCityInfo(W_CustomerAddress oAddress)
    {
        W_AddressStateCity oAddStateCity = new W_AddressStateCity();
        var client = new ClientBuilder(AuthID, AuthToken).BuildUsStreetApiClient();

        var lookup = new Lookup
        {
            Street = oAddress.AddressStreetAddress1,
            Street2 = oAddress.AddressStreetAddress2,
            City = oAddress.AddressCity,
            State = oAddress.AddressState,
            ZipCode = oAddress.AddressZipCode
        };

        try
        {
            client.Send(lookup);
        }
        catch (SmartyException ex)
        {
            // Console.WriteLine(ex.Message);
            //  Console.WriteLine(ex.StackTrace);
        }
        var candidates = lookup.Result;

        oAddStateCity.Country = candidates[0].Metadata.Country;
        oAddStateCity.State = candidates[0].Metadata.State;
        oAddStateCity.County = candidates[0].Metadata.CountyName;
        oAddStateCity.City = candidates[0].Metadata.City;

        return oAddStateCity;
    }

候補にあるのは CountyName のみです。アドレスは、この API に入力される前に常に検証されます。Country、State、City をどのように読み取ることができますか? 私は提供されたアドレスから、API からその情報を読みたいと思っています。

4

1 に答える 1

1

「US Street Address API」について言及していると思います。SmartyStreets には複数の API があります。

SmartyStreets サイトのUS Street Address API ドキュメントExample Output - Valid Addressを見ると、返される共通データを示すセクションが表示されます。

"components"オブジェクトには と が表示さcity_namestate_abbreviationます。"metadata"オブジェクトを見ると、 が表示されますcounty_name

「US Street Address API」にヒットしている場合、すべての住所の国として「USA」が含まれます。それを返す必要はありません。「International Street Address API」を使用すると、国情報が含まれます。

于 2018-12-31T22:46:31.997 に答える