1

我想找一位艺术家和他们的专辑。所以阅读这个页面https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2我创建了以下查询来获取迈克尔杰克逊的专辑

http://musicbrainz.org/ws/2/artist/?query=artist:michael%20jackson?inc=releases+recordings

我的理解是?inc=releases+recordings在应该返回迈克尔杰克逊专辑的 URL 末尾添加,但这似乎没有返回正确的结果,或者我似乎无法缩小结果范围?然后我想使用{MBID}艺术家查询中没有返回的但又一次(这就是我试图inc在我的查询中使用的原因)

http://musicbrainz.org/ws/2/artist/?query=artist:michael%20jackson

谁能建议我哪里出了问题?

4

1 回答 1

3

您不是在搜索正确的实体。你想要的是获得唱片,而不是艺术家的信息。此外,查询字段语法不正确(您必须使用Lucene Search Syntax)。

这是您要查找的内容:

http://musicbrainz.org/ws/2/release-group/?query=artist:"michael jackson" AND primarytype:"album"

我们以release-group实体为目标以获取专辑,搜索特定对象artist并过滤结果以将其限制为专辑。(接受值为:专辑、单曲、EP、其他)

还有更多选项可以满足您的需求,例如您可以使用secondarytype参数过滤专辑类型。这是仅检索实时专辑的查询:

http://musicbrainz.org/ws/2/release-group/?query=artist:"michael jackson" AND primarytype:"album" AND secondarytype="live"

这是文档: https ://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search

请注意,为了能够使用 MB 的 API,您需要了解它的结构,尤其是 release_group、release 和 medium 之间的关系。

于 2015-01-21T16:00:11.293 回答