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

Spotify API调用current_user_recently_played返回空列表求助

问题分析与解决方向

你遇到的返回空items且无total字段的情况,主要有以下几种可能原因:

1. 授权权限缺失

获取用户最近播放记录必须申请user-read-recently-played权限。如果你的授权流程(获取token的环节)没有包含这个scope,Spotify API会静默返回空结果,而非抛出权限错误。

要确认这一点:

  • 检查发起授权请求时的scope参数,确保明确包含user-read-recently-played。比如用Spotipy初始化授权时,要指定scope="user-read-recently-played";原生请求的话,授权URL里的scope参数必须包含该值。
  • 解码你的access token(可使用JWT解码工具),查看payload中的scope字段,确认目标权限存在。

2. 用户无近期播放记录

如果用户在Spotify全渠道(网页端、客户端等)最近没有播放过任何曲目,API会返回空的items数组,此时total字段不会出现——这符合Spotify API的设计逻辑,仅当存在播放记录时才会返回total。

你可以让用户登录Spotify官网,查看「最近播放」列表,确认是否有内容。如果官网也无记录,那API返回空就是正常现象。

3. Token有效性问题

虽然你的get_token函数会刷新过期令牌,但要确保刷新后的令牌依然包含正确的scope。部分情况下,若初始授权的scope不完整,新生成的access token也会缺少对应权限。

排查建议

  • 先确认用户的Spotify账号有近期播放记录;
  • 检查授权流程的scope配置,确保包含user-read-recently-played;
  • 用curl直接测试API端点,排除代码封装的问题:
    curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.spotify.com/v1/me/player/recently-played
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 21:12:20