我正在使用MusicBrainz来获取曲目的元数据。我想获得该曲目专辑的mbid。我正在使用ISRC代码进行以下查找。
https://musicbrainz.org/ws/2/isrc/USRC11600201?fmt=json
但是作为回应,我没有获得与曲目专辑相关的任何元数据。我得到以下响应:
{ "ISRC": "USRC11600201", "录音":[ { "消歧义": "单曲混音", "标题": "廉价刺激", "id": "92e27a47-3546-4bc2-a9f7-b19e43d7a531", "长度":223000, "视频":假 }, { "长度":218540, "视频":假, "标题": "廉价刺激", "消除歧义": ", "id": "5845e975-33b4-4b0d-8e74-8f57d128b3d1" } ] }
我也尝试了"inc"子查询参数的各种组合,但没有任何效果。请帮帮我。我真的被困在了这个上面。
在 URL 参数中使用inc=releases
应该足以获得所需的信息。但是,MusicBrainz的JSON Web服务(仍处于正式测试阶段(似乎存在错误,正如您在XML和JSON端点输出之间的差异中看到的那样: https://musicbrainz.org/ws/2/isrc/USRC11600201?inc=releases&fmt=json (JSON( 与 https://musicbrainz.org/ws/2/isrc/USRC11600201?inc=releases (XML(。
这里一个明显的解决方案/解决方法是切换到使用更成熟的 XML 终结点。如果这不是一个选项,您可以使用 JSON 输出中给出的录制 MBID 来查找与这些录制文件关联的版本,例如 https://musicbrainz.org/ws/2/recording/5845e975-33b4-4b0d-8e74-8f57d128b3d1?inc=releases&fmt=json(请注意,此处还需要inc=releases
来获取有关版本的信息,并且在查找录制文件时它实际上有效(。
因此,要在我拥有曲目的 ISRC 时获取曲目专辑的详细信息,我们需要执行以下 get 请求:
https://musicbrainz.org/ws/2/isrc/GBUM71604605?inc=releases
它将在 xml 中给出响应。XML API 更稳定 单击以获取有关此内容的更多详细信息
由于我需要 json 中的响应,我们可以使用像 xml 到 json 这样的库,反之亦然
正如我所看到的,来自MusicBrainz api的xml响应更准确,并且提供了很多信息。