2

如何使用 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 调用不返回发布日期。有什么建议么?这些是错误吗?哪里是举报的最佳地点?

4

1 回答 1

4

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

使用该inc=release-group参数,您还可以请求所有版本的版本组信息(您也可以请求其他信息,请查看文档)。

您还会注意到,虽然 JSON 文档说"release-count": 317,但它实际上并没有包括所有这些。这是因为浏览请求支持分页。要获得所有版本,您可以增加限制(通过添加) ,limit=100然后执行 3 个额外请求(最后是)。因此,您的最后一个要求是offset=100offset=200offset=300https://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 的偏移量为 200,Without You Bootleg 的偏移量为 300。)

请注意JSON Web Service仍处于 beta 阶段 - 如果您只是更改fmt=jsonfmt=xml,您将使用稳定的 XML Web Service。

于 2014-12-18T11:10:25.620 回答