musicbrainz api获取所有发布组和发布日期

时间:2014-12-17 13:22:32

标签: api musicbrainz

如何使用musicbrainz api在一次通话中获取艺术家的所有发布组和发布日期?我能够做到的最接近的是使用:

http://musicbrainz.org/ws/2/release-group?query=arid:494e8d09-f85b-4543-892f-a5096aed1cd4&fmt=json

但是,有些发布组不存在。例如,使用上述调用,“EP”,“Single + Remix”和一些非官方版本未显示。基本上,我希望能够制作出与musicbrainz相同的列表,当你去艺术家的“所有”版本的主页时:

https://musicbrainz.org/artist/494e8d09-f85b-4543-892f-a5096aed1cd4?all=1

此外,上面的api调用不会返回发布日期。有什么建议?这些错误?报告它的最佳位置在哪里?

2 个答案:

答案 0 :(得分:3)

您可以做的第一件事就是不使用搜索API,这有点不灵活(它不支持inc参数),但如果您已经知道艺术家的MBID,您可以简单地使用browse requesthttps://musicbrainz.org/ws/2/release?artist=494e8d09-f85b-4543-892f-a5096aed1cd4&fmt=json&inc=release-groups

使用inc=release-group参数,您也可以为所有版本请求发布组信息(您也可以请求其他信息,请查看documentation)。

您还会注意到,虽然JSON文档说"release-count": 317,但它实际上并不包含所有这些内容。这是因为浏览请求支持pagination。要获取所有版本,您可以增加限制(通过添加limit=100),然后执行3个额外请求(offset=100offset=200,最后offset=300)。 因此,您的上一次请求将是https://musicbrainz.org/ws/2/release?artist=494e8d09-f85b-4543-892f-a5096aed1cd4&fmt=json&inc=release-groups&limit=100&offset=300

(这不是保证的结果,但是情人节EP的偏移量为100,Say Somethin'& Shake It Off with 200 and the You You Bootleg with 300.)

请注意,JSON Web Service仍处于测试阶段 - 如果您只是将fmt=json更改为fmt=xml,则您将使用稳定的XML Web服务。

答案 1 :(得分:0)

使用艺术家api,艺术家ID,并指定包含发布组。

http://musicbrainz.org/ws/2/artist/{artistId}?inc=release-groups&fmt=json

例如: http://musicbrainz.org/ws/2/artist/83d91898-7763-47d7-b03b-b92132375c47?inc=release-groups&fmt=json

inc参数可以包含要包括的子项列表。