当前位置: 首页 > 知识库问答 >
问题:

如何在musicbrainz上检索发布浏览请求的录制关系

钱劲
2023-03-14

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

http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234

我对每个录音都有兴趣获得它的工作id。现在我试着在includes中添加'recording rels',但它似乎只返回发布和录音之间的关系。我还尝试将“recording level rels”添加到此处提到的includes,其中指出它应该返回录制关系,但当我尝试使用它时,我得到以下错误:

{"错误":"对于发布资源来说,记录级别不是一个有效的inc参数。"}

我用错了吗?为了澄清,我在你从他们的网站上得到的关系之后,比如说从这个页面,每个版本都有记录,其中包含一个链接到musicbraz工作标识页面。

如有任何帮助/建议,将不胜感激,谢谢。

共有2个答案

长孙阳嘉
2023-03-14

有关关系的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
洪楷
2023-03-14

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

因此,您无法通过一个请求获得这些信息。对此的简单解决方案是使用:
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记录级-雷克斯工作-雷克斯
来获取相关的作品。

上面的方法有一个问题,即每个版本都需要一个请求。你可以做得更好,如果你做一些匹配你的端。您可以使用
http://musicbrainz.org/ws/2/release?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234

或者,您也可以使用
http://musicbrainz.org/ws/2/recording?artist=cc197bad-dc9c-440d-a5b5-d52ba2e14234

请注意,当您需要使用limit/offset获取多页结果时,此方法还需要2个以上的请求。

 类似资料:
  • 在musicbrainz文档中,据说: “任何浏览请求都支持一个‘偏移=’参数来获得更多结果。浏览请求还支持'限制=':默认限制为25,您可以将其增加到100。" 因此,我尝试将限制增加到100,并获取每个偏移的结果,如下所示: 问题是,我从api获得的发布不等于发布计数。如果我将限制设置为25(默认值),并以25而不是100的增量循环偏移,则不会出现此问题。 如何使用musicbrainz ap

  • 可能重复:<br>Android,通过HTTP POST(SOAP)发送XML 如何在Android系统中发布SOAP服务请求? 请给我举个例子 谢谢你和我分享知识

  • 当我在chrome上使用ipad时,useragent是 Mozila/5.0(iPad;CPU OS 9_3_5像Mac OS X)AppleWebKit/601.1(KHTML像Gecko)CruiOS/57.0.2987.137 Mobile/13G36.... 问题:因为在iPadOS上,Safari上的用户代理与MacOS笔记本上的相同,遵循https://forums.develope

  • 问题内容: 您好,我要在关闭选项卡(不是浏览器)事件中查找信息,如果Java中有一个applet信息。我想知道是否有一个事件或一种检查该方法的方法。我只想捕获事件并创建一个小弹出框,说明您的会话将过期或类似的内容。使用Java或Javascript完全有可能吗? 更新:好的,你们向我指出的信息使我能够获得足够简单的JavaScript信息。现在它在IE,Chrome和Firefox中可以正常工作,

  • 问题内容: 我正在开发一个使用大量ajax的grails应用程序。如果请求是ajax调用,那么它应该给出响应(这部分正在工作),但是如果我在浏览器中输入URL,它应该带我到主页/索引页面而不是请求的页面。下面是Ajax调用的示例gsp代码。 如果我们在浏览器URL栏中键入http:// localhost:8080 / Dash / todo / list ,则控制器应重定向到http:// lo

  • 我是新来的Laravel,遇到了以下问题: 我有一个表单应该在Post请求时重定向,但重定向没有发生。 这是我的表格: 这是CartController: 这是路线: 当我点击submit按钮时,URL会被产品数据填满,但我会在同一个页面上看到,而不是被重新定向到购物车。 我不知道为什么会发生这种事。这是一种至少能找出什么东西坏了的方法吗?我使用的是5.7版本。