任何人都可以提供访问此Last.FM API的代码示例吗?

时间:2014-02-22 15:30:30

标签: api http rest last.fm

我正在努力学习如何正确使用AJAX和RESTful API,虽然我明白了,但是像身份验证这样的事情的实际实现有点令我困惑。特别令人沮丧的是,像Last.FM或TVRage.com这样的网站上的文档都没有列出代码示例,我觉得这样可以帮助我。

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

根据their instructions,现在,我正在尝试对自己进行身份验证。

  

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

<name><value>计划?比如,<apikey><keyitself>?然后我在认证时做什么,以某种方式存储一个小时的会话,然后刷新,或在每次通话时进行身份验证?我只是没有详细说明如何实际实现它......

1 个答案:

答案 0 :(得分:8)

如果查看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调用的{j}和jQuery方法How to make an AJAX call without jQuery?。在我的示例中,我们将使用上面详述的相同参数创建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密钥,并重构成功回调比我的示例更优雅。