Spotify用户专辑API返回数据不匹配及库中艺术家获取方法问询
解决Spotify API获取用户库专辑不全及收藏艺术家的问题
嘿,我来帮你搞定这两个Spotify API的问题:
一、为什么/v1/me/albums只返回部分专辑?
这是因为Spotify的列表类API默认都是分页返回的,/v1/me/albums也不例外——默认每次只给你20条结果,这就导致你看到的数量和客户端显示的对不上。要拿到全部专辑,你得处理分页:
用
limit和offset参数遍历
你可以手动控制每次请求的条目数和起始位置:limit:最多设为50,控制每次返回的结果数量offset:从0开始,每次请求后增加limit的值,直到返回的items为空
举个请求例子:
GET https://api.spotify.com/v1/me/albums?limit=50&offset=0第一次拿前50条,第二次把
offset改成50拿接下来的50条,以此类推,直到没有更多结果。跟着响应里的
next链接走
API返回的结果里有个next字段,它是下一页的请求URL。只要next不是null,就继续请求这个链接,直到next为空,这样就能自动遍历完所有专辑了。
二、怎么获取用户库中的艺术家信息?
Spotify有专门的端点来获取用户直接收藏的艺术家,你需要用/v1/me/following这个接口,同时指定type=artist参数,而且授权的时候必须带上user-follow-read的权限范围(scope),不然会提示权限不够。
具体操作:
- 授权时要选对Scope
在获取访问令牌的步骤里,一定要请求user-follow-read这个权限,不然调用接口会报错。 - 调用API拿收藏的艺术家
示例请求:
同样,这个接口也支持分页,你可以用上面说的GET https://api.spotify.com/v1/me/following?type=artist&limit=50limit/offset或者next链接来拿到所有收藏的艺术家。
额外提醒:
如果你想的是从用户库的专辑里提取对应的艺术家,那也可以在调用/v1/me/albums时,从返回的每个专辑对象里的artists字段获取信息,但这只能拿到专辑关联的艺术家,不是用户主动收藏的那种哦。
内容的提问来源于stack exchange,提问作者Saptarshi Goswami
相关产品推荐
相关产品推荐

