Next.js/Middleware项目无法获取Spotify播放列表数据求助
问题:Spotify API请求返回200但播放列表数组为空
我在跟随Sonny Sangha的Spotify克隆教程学习时,在视频2小时17分23秒的节点,教程中成功从Spotify拉取了播放列表数据,但我和评论区大量用户都遇到了相同问题:代码与教程完全一致,所有API请求均返回200状态码,但最终播放列表数组始终为空。
可能的排查方向
- API响应结构差异:Spotify API的响应结构可能有更新,对比教程中的响应字段和实际返回的字段是否一致。比如检查播放列表数据是否在
items字段下,或者字段名是否有大小写变化(如playlistvsPlayList)。 - 权限范围问题:确认Spotify开发者控制台中设置的OAuth权限范围是否包含
playlist-read-private、playlist-read-collaborative等必要权限。即使请求返回200,权限不足也可能导致返回空数据。 - 异步处理逻辑错误:检查代码中处理API响应的异步逻辑,比如是否在数据返回前就初始化了播放列表数组,或者
await、then的调用顺序有误,导致数据还未赋值就被读取。 - 用户账号数据问题:确认当前登录的Spotify账号确实存在私人或公开播放列表,尝试切换账号测试,排除账号本身无数据的情况。
- 跨域或缓存问题:检查浏览器控制台是否有隐性的跨域警告(即使请求返回200),或者清除浏览器缓存后重新请求,避免旧的空响应被缓存。
建议的调试步骤
- 在API请求的回调或
then方法中,直接打印完整的响应数据,确认返回的内容是否真的包含播放列表信息。 - 对比教程中的请求URL参数,比如是否遗漏了
limit、offset等参数,或者参数值设置错误导致返回空结果。 - 检查代码中对响应数据的解析逻辑,比如是否正确遍历了响应中的播放列表数组,是否有过滤条件导致所有数据被排除。
内容的提问来源于stack exchange,提问作者Spix737
相关产品推荐
相关产品推荐

