使用API​​按年度过滤相册

时间:2013-02-03 23:21:22

标签: api discogs-api

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

唯一的问题是我不知道如何根据年份过滤相册。 Echo Nest API对专辑的影响不大。 Discogs和Last.fm API与相册一起使用,Discogs API包含有关相册发布日期的数据,但无法按发布日期过滤初始查询。例如,如果我有艺术家Fleet Foxes并且我想通过2011年发布的专辑来过滤它,则没有选择搜索限制发布日期为2011年的Fleet Foxes的专辑。

我现在能够真正看到的唯一选择是迭代艺术家的每张专辑,只添加符合我规格的专辑。然而,对于API和我的服务器来说,这显然非常沉重,特别是考虑到100个相似艺术家列表中的许多艺术家将没有符合我标准的专辑,并且许多艺术家在100张专辑的范围内都很好。你考虑单打,混音等。

有没有人看到更好的方法呢?

1 个答案:

答案 0 :(得分:1)

如果一个API真的没有任何方法按年过滤,那么是的,当然你必须删除所有版本并在事后过滤它们。

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

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

如果不详细查看所有API,快速检查Discogs的"Run a search query"文档会显示您可以在搜索中包含year条件(尽管看起来可能不会实际上按艺术家ID搜索,只按艺术家名称搜索?)。