如何在音乐大脑上发布浏览请求时检索录音关系



我目前正在从Musicbrainz获取所需的信息,使用以下方法浏览请求,浏览特定艺术家的发行+录音。例如:(酷玩乐队)

http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&fmt=json&inc=recordings

我有兴趣为每个记录获取其工作 ID。现在我尝试将"Recording-rels"添加到包含中,但它似乎只返回发布和录制之间的关系。我还尝试将"录音级rels"添加到包含中,如此处所述它指出它应该返回录音关系,但是当我尝试使用它时 - 我收到以下错误:

{"error":"recording-level-rels 不是发布资源的有效 inc 参数。

我用错了吗?澄清一下,我追求的是你从他们的网站获得的关系,比如从这个页面,每个版本都有录音,其中包含指向 musicbrainz 工作 ID 页面的链接。

任何帮助\建议将不胜感激,谢谢。

好吧,就像你说的:你正在做的是一个浏览请求,你链接的关系只适用于发布查找

因此,您无法通过一个请求获取此信息。简单的解决方案是使用:
http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234
要获取所有版本(不含录制文件)和每个版本,请执行以下操作:
http://musicbrainz.org/ws/2/release/bfae6df7-3ee2-4031-ac09-8dc63c6ce6ca?inc=recordings+recording-level-rels+work-rels
以获取相关作品。


上述方法存在每个版本都需要一个请求的问题。如果你做一些匹配,你可以做得更好。您可以使用以下方法获取录制文件列表
http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&inc=recordings
并与以下方面合作:
http://musicbrainz.org/ws/2/work?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&inc=recording-rels
使用此信息,您可以将作品与发行版中的录音进行匹配。

或者,您也可以使用
http://musicbrainz.org/ws/2/recording?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234&inc=work-rels
但通常录音较多,作品较少。这意味着并不总是每个录音都附有作品。

请注意,当您需要使用限制/偏移量来获取多页结果时,此方法还需要 2 个以上的请求。

指向有关关系的 API 文档的链接适用于 MBID 查找,仅适用于它们。所以这里的工作例如:

http://musicbrainz.org/ws/2/recording/7137bd5b-7f93-40c0-a780-53784a8f6c5d?inc=work-rels

但是在您正在执行的浏览查询中,无法查询此相对关系。我想你有两个选择:

  • 首先按艺术家查询所有录音,然后获取工作关系,例如以上。
  • 在 http://musicbrainz.org/ws/2/artist/cc197bad-dc9c-440d-a5b5-d52ba2e14234?fmt=json&inc=recording-rels+work-rels 行中使用一些东西,看看你是否能从中获得你想要的信息。

相关内容

  • 没有找到相关文章

最新更新