使用Spotify API获取access_token时触发KeyError问题求助
解决Spotify API获取Token时的KeyError问题
核心问题:请求头格式错误
你的代码中Authorization请求头的格式有误,Basic和后面的base64字符串之间必须有一个空格,当前代码未添加该空格,导致Spotify API无法正确解析认证信息,返回的是错误响应而非包含access_token的成功响应。
修复步骤
1. 修正Authorization头
修改headers字典中的Authorization字段:
headers = { "Authorization": "Basic " + auth_base64, # 注意Basic后添加空格 "Content-Type": "application/x-www-form-urlencoded" }
2. 添加错误排查代码(推荐)
在尝试获取access_token前打印完整响应,方便排查其他潜在问题:
result = post(url, headers=headers, data=data) json_result = json.loads(result.content) # 先打印完整响应,确认是否存在错误信息 print(json_result) # 安全获取token if "access_token" in json_result: token = json_result["access_token"] else: print(f"API返回错误: {json_result.get('error_description', '未知错误')}")
3. 确认.env文件配置
确保.env文件中正确配置了客户端信息,格式如下:
CLIENT_ID=你的Spotify客户端ID CLIENT_SECRET=你的Spotify客户端密钥
需保证这两个值是从Spotify开发者控制台完整复制的,无多余空格或换行。
其他注意事项
- 确认
python-dotenv库已安装:执行pip install python-dotenv - 检查网络连接是否可正常访问Spotify API服务器
内容的提问来源于stack exchange,提问作者caint
相关产品推荐
相关产品推荐

