You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Last.fm API通过MBID获取歌曲元数据遇问题求助

Troubleshooting Last.fm Track.getInfo API Calls Using MusicBrainz ID (MBID)

我之前在做类似的Last.fm API集成时,也遇到过用MBID调用track.getInfo失败的情况,结合你之前用曲目名称+艺人信息能成功的背景,咱们来一步步排查可能的问题:

  1. 验证MBID的有效性与关联性

    • 首先确认你使用的bfcc6d75-a6a5-4bc6-8282-47aec8531818这个MBID格式正确(标准MBID是36位字符串,包含4个连字符),有没有复制时多了空格或者漏了字符。
    • 另外,存在一种情况:某个曲目在MusicBrainz里有记录,但Last.fm的数据库没有同步关联这个MBID,这种情况下直接用MBID调用就会返回空或者错误。你可以先在Last.fm的网页端搜索该曲目,看看页面里是否显示对应的MBID,来确认两者是否关联。
  2. 修正请求URL的格式问题

    • 你给出的请求里出现了&,这是HTML转义后的字符,实际发送HTTP请求时需要替换成普通的&符号。正确的请求URL应该是:
      http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=INSERT_API_KEY&format=json&mbid=bfcc6d75-a6a5-4bc6-8282-47aec8531818
      
    • 同时务必确认你已经将INSERT_API_KEY替换成了自己的有效Last.fm API密钥,密钥无效会直接返回权限类错误。
  3. 解析API返回的错误提示

    • 发送请求后,先查看JSON响应里的error和message字段,这是Last.fm给出的最直接问题提示:
      • 6: Invalid parameters:大概率是MBID格式错误,或者参数缺失
      • 10: Invalid API key:API密钥不正确或未激活
      • 3: Invalid method signature supplied:如果启用了签名验证但签名错误会出现这个(不过纯GET请求不带签名的话一般不会遇到)
      • 2: Service offline:Last.fm服务临时维护,稍后重试即可
  4. 启用兜底参数提升成功率

    • 要是确实遇到Last.fm未同步MBID的情况,你可以在请求里同时传入MBID、艺人名称和曲目名称参数。API会优先尝试用MBID匹配,匹配失败时自动降级用艺人+曲目信息获取数据,示例请求:
      http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=INSERT_API_KEY&format=json&mbid=bfcc6d75-a6a5-4bc6-8282-47aec8531818&artist=你的艺人名称&track=你的曲目名称
      

内容的提问来源于stack exchange,提问作者nick.tdr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:30:31