0

我在一个网站上工作,在那里我显示了我最近播放的数百到数千首歌曲的所有列表。我需要歌曲的专辑封面图片!有没有免费的API?我应该发送 HTTP 请求并得到响应 [只有图片]

“我正在用 AJAX 编写代码”

4

1 回答 1

4

我最近做了几次类似的事情。

您可以使用免费的 last.fm API http://www.last.fm/api

您将需要一个 API 密钥(注册后获得),并且该密钥必须在请求中发送。

API 中可用的方法之一称为 track.getInfo:

http://www.last.fm/api/show/track.getInfo

使用此方法,您可以像这样发送艺术家和曲目名称参数(都是必需的):

http://ws.audioscrobbler.com/2.0/?
    method=track.getInfo&
    api_key=b___YOUR_API_KEY___&
    artist=Cher&
    track=Believe

此请求的响应将包括该轨道的一系列图像。以下是完整请求中的相册节点):

<album position="1">
    <artist>Cher</artist>
    <title>The Very Best of Cher</title>
    <mbid>00d677bf-46f2-34a4-86ad-e922d8466943</mbid>
    <url>
        http://www.last.fm/music/Cher/The+Very+Best+of+Cher
    </url>
    <image size="small">
        http://userserve-ak.last.fm/serve/64s/41161483.png</image>
    <image size="medium">
        http://userserve-ak.last.fm/serve/126/41161483.png</image>
    <image size="large">
        http://userserve-ak.last.fm/serve/174s/41161483.png
    </image>
    <image size="extralarge">
        http://userserve-ak.last.fm/serve/300x300/41161483.png
    </image>
</album>

然后,您可以使用 JavaScript AJAX 函数过滤到响应中返回的图像节点。如您所见,图像有不同的尺寸,因此您可以选择要使用的图像。

您不会只从请求中获取图片,但您可以轻松地从响应中获取它。

我希望这会有所帮助。

于 2012-07-06T07:51:14.860 回答