JavaScript 中的 Last.FM API - 某些曲目出现错误代码 5?

问题描述 投票:0回答:1

我正在尝试使用 'leemm' 制作的 JavaScript 包装器来实现 Last.FM API,它似乎运行正常,通过测试返回信息。但是当我尝试使用“track.getInfo()”方法时,它开始抛出

error: {
    code: '5',
    message: "Invalid format - This service doesn't exist in that format"
  },
  text: undefined
}

“Mobb Deep”的“Survival of The Fittest”等歌曲。但它会正确返回其他歌曲的信息,例如“HUMBLE”。作者:“肯德里克·拉马尔”。

这是我的职责:

async function lastFMTest(){
  const data = await lastfm.track.getInfo({
    artist: 'Kendrick Lamar',
    track: 'HUMBLE.',
    username: 'NAG_Z',
    autocorrect: '1'
  });
  console.log(data.track.name, data.track.userplaycount, data.track.toptags.tag[0].name);
}

我注意到 getInfo() 方法在崩溃于某一特定轨道之前会返回大量轨道的信息。我检查了非官方文档,它说:

Last.fm 错误代码 5:响应格式无效

除了记录的参数之外,还需要

format

 参数,该参数的值可能为 
XML
JSON
(不区分大小写)。请求其他格式的数据将发出此错误。有些方法确实支持这两种以上的格式,本文档中列出了这些方法的格式。

所以我尝试插入一个

format

 参数指定 
'json'
 这会导致同样的问题,
'XML'
 破坏了该方法,尽管我确实希望我的数据以 JSON 格式返回,所以我真的不认为 
XML 是这样的方式去吧。

这很可能是由于我对 API 或 JavaScript 缺乏了解,因为我还是个新手,如果有人可以帮助我,我将不胜感激!

编辑:

对于

format

参数,我尝试了“json”和“JSON”,但之后仍然不起作用。

javascript last.fm
1个回答
0
投票
我不知道这是否重要;但我去了每首歌的网址

单击“播放曲目”即可播放

https://www.last.fm/music/Kendrick+Lamar/_/HUMBLE.

单击“播放曲目”,显示“曲目不可用”。

https://www.last.fm/music/Mobb+Deep/_/Survival+of+the+Fittest

那么也许last.fm 的leemm 包装器中发生了一些事情?如果我直接通过

audioscrobbler

 访问 api,我会得到响应

enter image description here

然后我去专辑信息找到了几首歌曲

enter image description here

接下来的LP版本似乎根本就没有曲目了。

https://www.last.fm/music/Mobb+Deep/_/Survival+of+the+Fittest+(LP+版本)

以及 api 响应中的其他 url:

https://www.last.fm/music/Mobb+Deep/_/Survival+Of+The+Fittest+(混音)+(扩展+版本)

https://www.last.fm/music/Mobb+Deep/_/Survival+Of+The+Fittest+(混音)+(器乐)

这个有曲目,播放时显示“曲目不可用”g

https://www.last.fm/music/Mobb+Deep/_/Survival+Of+The+Fittest+(A+无伴奏合唱)

© www.soinside.com 2019 - 2024. All rights reserved.