调用Spotify推荐API返回404错误的问题排查求助
调用Spotify推荐API返回404错误的问题排查求助
嘿,我看你遇到了Spotify推荐API返回404的坑,我之前也碰过类似的情况,给你几个实用的排查方向试试:
先升级Spotipy版本:旧版本的Spotipy可能存在API端点调用的bug,这是最常见的原因之一,先把库更到最新版再说:
pip install --upgrade spotipy验证认证是否有效:有时候404是无效token导致的误导性报错,你可以先加一行代码测试当前的认证状态:
print(sp.current_user())如果这行能正常返回你的用户信息,说明token没问题;如果报错,就得检查你的OAuth配置了——CLIENT_ID、CLIENT_SECRET有没有填错,REDIRECT_URI是否和Spotify开发者后台设置的完全一致。
确认流派种子的有效性:虽然'pop'是常见流派,但还是建议你先获取Spotify官方支持的所有流派列表,避免用了不被认可的流派名:
print(sp.recommendation_genre_seeds())看看返回的列表里有没有'pop',排除拼写错误或者冷门流派的问题。
绕过Spotipy直接测试API:如果上面都没问题,你可以用requests库直接发送请求,排除Spotipy封装层的问题:
import requests # 获取当前有效的访问token token = sp.auth_manager.get_access_token(as_dict=False) url = "https://api.spotify.com/v1/recommendations" params = {'limit': 20, 'seed_genres': 'pop'} headers = {'Authorization': f'Bearer {token}'} response = requests.get(url, headers=headers, params=params) print(f"状态码: {response.status_code}") print(f"响应内容: {response.json()}")如果这个请求能正常返回推荐结果,那就是Spotipy版本的问题(升级后应该能解决);如果还是404,就得检查你的网络环境了——比如是不是代理、防火墙阻止了请求,或者你的Spotify开发者账号有没有异常。
另外提一句,你代码里seed_tracks=None这种写法其实可以省略,Spotipy会默认处理,但这不是导致404的原因~
备注:内容来源于stack exchange,提问作者Andrea Di Campo
相关产品推荐
相关产品推荐

