You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Foursquare API获取场地详情时出现认证错误

Foursquare API 请求URL拼接错误修复

你手动拼接URL时犯了两个关键错误:

  • 错误地将venue_id作为查询参数(?venue_id=xxx)放在路径后,但Foursquare的场馆详情API要求venue_id是URL路径的一部分(即/venues/{venue_id})
  • URL中出现了两个?,第二个?会被服务器当作普通字符处理,导致后面的client_id、client_secret等认证参数无法被识别,因此返回认证失败错误

修复后的字符串拼接代码

VENUE_ID = '4e96cf73b8f7d8c690f48384'
CLIENT_ID = '[my client id]'
CLIENT_SECRET = '[my client secret]'
VERSION = '20180604'

# 修正URL格式:venue_id放在路径中,查询参数只用一个?,用&连接
url = 'https://api.foursquare.com/v2/venues/{}/?client_id={}&client_secret={}&v={}'.format(
    VENUE_ID,
    CLIENT_ID, 
    CLIENT_SECRET, 
    VERSION
)

detail_results = requests.get(url).json()

更推荐的写法(使用requests的params参数)

手动拼接URL容易出现格式错误,建议直接用requests的params参数传递查询参数,自动处理URL编码和格式:

VENUE_ID = '4e96cf73b8f7d8c690f48384'
CLIENT_ID = '[my client id]'
CLIENT_SECRET = '[my client secret]'
VERSION = '20180604'

url = f'https://api.foursquare.com/v2/venues/{VENUE_ID}/'
params = {
    'client_id': CLIENT_ID,
    'client_secret': CLIENT_SECRET,
    'v': VERSION
}

detail_results = requests.get(url, params=params).json()

内容的提问来源于stack exchange,提问作者Yankzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 05:36:06