如何在 Spotify 上获取艺术家的所有歌曲?
Posted
技术标签:
【中文标题】如何在 Spotify 上获取艺术家的所有歌曲?【英文标题】:How To Get All Songs of An Artist on Spoitfy? 【发布时间】:2017-02-22 13:47:12 【问题描述】:在他们获取艺术家热门曲目的文档中,他们提到了这一点:
最多 10 首曲目是 Spotify 应用程序显示的曲目。如果您想获取更多艺术家的热门曲目,另一种方法是使用 Echo Nest 歌曲/搜索来完成此操作。它将接受 Spotify 艺术家 ID 作为输入,并在输出中为您提供 Spotify id。
我很确定 Echo Nest Api 不再存在,所以我想知道是否还有其他方法可以获取除 10 首以外的艺术家的歌曲吗?
另外,如果 Spotify 不再支持该功能,我正在考虑使用 Last.fm 的 Api 来实现,如果有人对如何解决这个问题有任何其他建议,那就太好了!提前致谢。
【问题讨论】:
【参考方案1】:我认为您无法通过 Spotify 中的单个 API 调用来实现它。不过还有一个选择:
请求一个艺术家的所有专辑(看看here):
https://api.spotify.com/v1/artists/id/albums
然后请求每张专辑的曲目(看看here):
https://api.spotify.com/v1/albums/id/tracks
为避免对一张专辑的请求,您可以一次获取多张专辑,当请求一张专辑时,该专辑的曲目将在paging object 中返回。您可以将id
查询参数中以,
分隔的所需专辑标识符传递到以下端点(查看here):
https://api.spotify.com/v1/albums
【讨论】:
这绝对是非常有帮助的,所以谢谢你......但是如果艺术家发行了不在专辑中的歌曲,那我们该怎么办? @user3241894 据我所知,在 Spotify 中,song (track) 属于 album 并且相册有 3 种类型:album
、single
和 compilation
。当艺术家发行一首歌曲时,这首歌是专辑的一部分,专辑类型为single
。使用API console 了解更多详情。【参考方案2】:
对我来说更充分的解决方案是:
https://api.spotify.com/v1/search?type=track&q=artist:ArtistName
这将返回该艺术家的热门歌曲,分页肯定超过 10 个结果。
唯一需要注意的是,这包括艺术家可能出现在其中的歌曲,但我认为这真的很有用,就好像它是您的用户可能正在寻找的流行歌曲一样。
【讨论】:
以上是关于如何在 Spotify 上获取艺术家的所有歌曲?的主要内容,如果未能解决你的问题,请参考以下文章