有人能提供访问此Last.FM API的代码示例吗



我正在努力学习如何正确使用AJAX和RESTful API,虽然我有这个想法,但像身份验证这样的东西的实际实现有点让我困惑。特别令人沮丧的是,像Last.FM或TVRage.com这样的网站上没有一个文档真正列出代码示例,我觉得这对我有很大帮助。

如果有人特别使用了Last.FM API,并且可以给出一个快速的代码示例——对于他们的任何方法——我真的很感激

现在,我正试图根据他们的指示进行身份验证。

首先按照参数名称的字母顺序对调用中发送的所有参数进行排序,然后使用<name><value>方案将它们连接成一个字符串,从而构建api方法签名。

<name><value>方案?比如<apikey><keyitself>?然后,当进行身份验证时,我该怎么办?以某种方式将会话存储一个小时,然后刷新,或者对每个呼叫进行身份验证?我只是不知道如何真正实现它的细节…

如果您查看API文档,您将在左侧导航菜单上看到方法列表(在本例中,让我们以artist.getInfo为例-http://www.last.fm/api/show/artist.getInfo)。

现在,为了进行调用,您需要向restful web服务发出AJAX请求,然后它将返回XML或JSON响应。为了测试这一点,您可以构建一个查询并查看响应。

http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=After+The+Burial&api_key=57ee3318536b23ee81d6b27e36997cde&format=json

如果您尝试此链接,您将看到数据的JSON表示。如果您查看在我回答的开头提供的API链接,您也可以开始使用一些可选参数进行实验。下一个需要解决的问题是如何让AJAX调用自己。

如果你遵循本指南,它将向你展示进行AJAX调用的JavaScript和jQuery方法如何在没有jQuery的情况下进行AJAX呼叫?。在我的例子中,我们将使用上面详细描述的相同参数来进行POST请求方法:

$.ajax({
type : 'POST',
url : 'http://ws.audioscrobbler.com/2.0/',
data : 'method=artist.getinfo&' +
'artist=After+The+Burial&' +
'api_key=57ee3318536b23ee81d6b27e36997cde&' +
'format=json',
dataType : 'jsonp',
success : function(data) {
// Handle success code here
},
error : function(code, message){
// Handle error here
}
});

当您点击成功回调时,"data"参数表示已被解析为JavaScript对象的JSON响应。

下面是我制作的一个jsfiddle,它演示了对last.fm:的web服务调用的实现

http://jsfiddle.net/zvsrF/6/

只需确保获得您自己的API密钥,并重构成功回调,使其比我的示例更加优雅。

最新更新