我尝试使用示例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之前,始终先对其进行验证。 我如何阅读国家,州和城市? 我想从我提供的地址中读取API中的信息。
答案 0 :(得分:1)
我假设您是指“美国街道地址API”。 SmartyStreets具有多个API。
如果您在SmartyStreets网站上查看US Street Address API documentation,则会看到一个Example Output - Valid Address
部分,其中显示了返回的常用数据。
在"components"
对象中,您可以看到city_name
和state_abbreviation
。如果您查看"metadata"
对象,则会看到county_name
。
如果您点击“美国街道地址API”,那么所有地址都将“美国”作为国家/地区。无需返回。如果您使用“国际街地址API”,则会包含国家/地区信息。