如何从Google AdWords API地理位置报告获取ISO 3166-2代码?
获取Google AdWords API地理位置报告中的ISO 3166-2代码
好问题!我之前做地图可视化的时候也碰到过这个需求——毕竟很多JS地图库只认ISO代码,而AdWords API默认返回的是Google自己的地理ID(比如你示例里的2724)。下面给你两个实用的解决方案:
方案1:修改API请求,直接返回ISO代码字段
这是最省心的方法——你可以在请求地理位置效果报告时,额外指定要返回ISO代码相关的字段,不用自己做映射。
针对不同层级的地理数据:
- 如果你需要国家/地区的ISO 3166-1 alpha-2代码(比如ES、US),可以在请求字段中加入
CountryIsoCode - 如果需要地区级的ISO 3166-2代码(比如ES-CT、US-CA),则加入
RegionIsoCode
修改后的API请求返回的响应会类似这样:
{ "Country\/Territory":"2724", "CountryIsoCode":"ES", "Region":"2724", "RegionIsoCode":"ES-MD", "Impressions":"7", "Campaign_ID":"1234", "Campaign":"video-campaign-test-5c4c476815a9c", // 其他原有字段... }
这样你就能直接拿到地图库需要的ISO代码,不用额外处理。
方案2:维护本地映射表(如果无法修改API请求)
如果因为权限、现有代码架构等原因没法修改API请求,那你可以自己维护一个Google地理ID到ISO代码的映射表。
Google官方提供了完整的地理定位目标代码列表,你可以把这份列表转换成JSON、CSV或者存入数据库,然后在拿到API响应后,通过Country/Territory或Region字段的ID去查表,得到对应的ISO代码。比如你示例中的ID 2724,查表后就能得到国家ISO代码ES(西班牙)。
注意:这份列表会偶尔更新(比如新增地区或调整代码),记得定期同步最新版本哦。
内容的提问来源于stack exchange,提问作者Luis Cabrero
相关产品推荐
相关产品推荐

