使用R调用spotifyr提取Spotify数据时出现token$sign报错如何解决?
报错核心原因
该报错是由于你获取的Spotify令牌结构异常,没有内置sign方法,无法对后续请求进行签名,核心问题出在授权方式和令牌获取环节,对应解决方案如下:
- 首先确认你已经在Spotify开发者后台创建了应用,将应用生成的
Client ID和Client Secret准确填入脚本中id和secret对应的空字符串位置,同时在开发者后台的应用设置里,把重定向URI配置为http://localhost:1410/,和脚本注释的地址保持完全一致。 - 你当前使用的
get_spotify_access_token()是客户端凭证授权,仅能访问Spotify公开数据,而get_my_recently_played()需要读取用户个人私有数据,必须改用授权码流获取令牌,把获取令牌的代码替换为:
access_token <- get_spotify_authorization_code()
运行该代码时会自动唤起浏览器跳转Spotify登录授权页面,登录你的个人账号完成授权后,会自动跳转回本地端口完成令牌获取。
- 完成授权后可以先打印令牌对象确认结构正常:在控制台输入
access_token,确认返回的是包含有效期、权限范围的Spotify令牌对象,再运行后续数据拉取代码。 - 如果仍存在报错,建议更新spotifyr到最新开发版,避免旧版本兼容性问题:
devtools::install_github("charlie86/spotifyr")
内容的提问来源于stack exchange,提问作者Max Mos
相关产品推荐
相关产品推荐

