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

获取Spotify其他用户最近播放曲目:授权与数据访问疑问

解决Spotify获取用户最近播放曲目的授权与数据访问问题

一、用户如何授予user-read-recently-played权限

  • 先在Spotify开发者后台配置好你的应用重定向URI(Redirect URI),必须和后续请求里的URI完全一致。
  • 构造授权跳转URL,核心参数包括:
    • client_id:你的应用Client Key
    • response_type=code:指定授权码模式
    • redirect_uri:后台配置好的重定向地址
    • scope=user-read-recently-played:明确申请的权限
    • state:随机字符串,用于防范CSRF攻击(可选但推荐)
  • 引导用户点击这个URL跳转到Spotify的授权页面,用户确认授权后,Spotify会跳回你配置的redirect_uri,并在URL参数里带上code(授权码)和你之前传的state。
  • 用拿到的code,结合client_id、client_secret、redirect_uri,向Spotify的token接口发送POST请求,获取access_token(访问令牌)、refresh_token(刷新令牌),同时响应里会返回授权用户的id(用户ID)等基本信息。

二、应用内如何访问用户的最近播放数据

  • 调用Spotify的/v1/me/player/recently-played接口,请求头中添加Authorization: Bearer {你的access_token}。
  • 接口返回的就是该授权用户的最近播放曲目列表,支持通过limit参数控制返回条目数量(最多50条),after/before参数按时间范围筛选。
  • 当access_token过期(默认有效期1小时),可以用refresh_token向token接口发送POST请求,获取新的access_token,无需用户再次授权。

三、OAuth模块是否记录已授权用户与用户ID问题

  • Spotify的OAuth流程本身不会帮你存储已授权用户信息,你需要自己在应用数据库里保存用户的id、refresh_token、access_token过期时间等数据,用于后续识别用户和刷新令牌。
  • 第一次获取token的响应里就包含用户ID,不需要额外查询;之后每次请求或者刷新token时,都可以通过这个ID关联到对应的用户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:32:41