3

因此,我正在开发一个应用程序,该应用程序具有使用 Echo Nest API 生成与用户音乐目录中的艺术家类似的 100 位左右的艺术家列表的功能。然后,用户可以提供某一年,并且基于相似的艺术家,应用程序将返回该年发行的专辑列表。

唯一的问题是我不知道如何根据年份过滤专辑。Echo Nest API 对专辑的作用并不大。Discogs 和 Last.fm API 可用于专辑,Discogs API 有关于专辑发行日期的数据,但无法按发行日期过滤初始查询。例如,如果我有艺术家 Fleet Foxes,并且我想按 2011 年发行的专辑对其进行过滤,则没有选项可以搜索 Fleet Foxes 仅限于 2011 年发行日期的专辑。

在这一点上,我真正能看到的唯一选择是迭代艺术家拥有的每张专辑,并且只添加那些符合我要求的专辑。但是,这显然对 API 和我的服务器来说都非常繁重,尤其是考虑到 100 个相似艺术家列表中的许多艺术家没有符合我标准的专辑,而且许多艺术家的专辑都在 100 个范围内。您会考虑单曲、混音等。

有没有人看到这样做的更好方法?

4

1 回答 1

2

如果一个 API 真的没有办法按年份过滤,那么是的,当然你必须拉下所有版本并在事后过滤它们。

如果您认为这对您的代码和/或其服务器造成负担,则应提交功能请求以添加过滤。

但是,您应该首先确保他们真的不提供这样的东西。大多数 REST API 将“获取”和“搜索”分开。例如,http://api.example.com/artists/12345/releases可能没有任何过滤方式,但http://api.example.com/search?type=releases&artist=12345&year=2011可能存在。

在不详细查看所有 API 的情况下,快速查看 Discogs 的“运行搜索查询”文档表明您可以year在搜索中包含一个标准(尽管看起来您可能实际上无法按艺术家 ID 进行搜索,只是按艺术家姓名?)。

于 2013-02-04T00:22:36.697 回答