如何通过Foursquare API利用场地ID获取签到数据的经纬度
解决Foursquare Places API通过场地ID获取经纬度及地址的问题
Foursquare Places API本身就支持直接通过场地ID(fsq_id或旧版venue_id)查询完整场地信息,包含经纬度和地址,你需要用到Get a Place这个核心端点,以下是具体操作步骤:
核心调用方式
针对新版fsq_id
- 请求端点:
/places/{fsq_id} - 请求方法:GET
- 身份验证:在请求头里携带API密钥,格式为
Authorization: Bearer YOUR_API_KEY(新版API要求用Bearer令牌,不再支持URL参数传client_id/secret)
示例curl请求:
curl -X GET "https://api.foursquare.com/v3/places/ABCD1234" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_API_KEY"
针对旧版venue_id
如果手里的是旧版venue_id,可以直接调用旧版Venue详情端点:
- 请求端点:
/venues/{venue_id} - 请求方法:GET
- 身份验证:同样用Bearer令牌,或者部分旧版兼容模式支持
client_id和client_secret参数(不推荐)
示例curl请求:
curl -X GET "https://api.foursquare.com/v2/venues/OLD_VENUE_ID?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&v=20240101"
提取目标字段
返回的JSON结果里,你需要的信息对应这些字段:
- 经纬度:新版API在
geocodes.main.latitude、geocodes.main.longitude;旧版API在location.lat、location.lng - 地址信息:新版在
location对象下,包含address、city、postal_code等;旧版同样在location对象里
注意事项
- 确保你的API密钥拥有Places API的访问权限,免费额度账号一般都支持基础的场地查询
- 如果旧版venue_id查询报错,建议先转换为fsq_id适配新版API
- 注意请求头的
Accept字段需设为application/json,否则可能返回非JSON格式数据
内容的提问来源于stack exchange,提问作者Nicole C. Baratta
相关产品推荐
相关产品推荐

