基于“新浪乐库”的音乐搜索API接口,返回JSON数据

新浪开发平台提供的API接口非常丰富,可没有音乐搜索的接口,对于我们这些搞基于微博应用的孩子还是比较悲剧的。

于是我可爱的好基友@ACMer_耕畅写了一段代码,把“新浪乐库”返回的搜索结果页处理一下,然后返回处理后的数据。

后来,在论坛上看见一位朋友做了个返回JSON的API接口非常棒。但对于我来说说,只是想把搜索结果添加到需要发送的微博内容中,他的接口有点大材小用啦,所以干脆自己把代码整理了一下,做了一个返回JSON的API接口,希望对一些朋友有小小的帮助!

请求URLhttp://www.52its.net/api/music_search.php?keyword=kw&callback=?返回格式JSONHTTP请求方式GET请求参数keyword(歌曲、歌手等关键词,可模糊搜索),必须做URLencode返回示例

 {"list": [
        {
            "id": "452568",
            "name": "Love",
            "singer": "G. Love",
            "album": "The Hustle"
        },
        {
            "id": "2221782",
            "name": "Love Is Coming",
            "singer": "Love",
            "album": "False Start"
        },
        {
            "id": "2221784",
            "name": "Everlasting First - Jimi Hendrix, Love",
            "singer": "Love",
            "album": "False Start"
        }
    ]

}

字段说明

返回值字段字段类型字段说明
idint64新浪乐库的歌曲ID,加上对应网址,可进行试听
namestring歌曲名称
singerstring歌手
albumstring歌曲专辑
error_codeint64错误代码
errorstring错误原因

 

注意事项

传递的参数“keyword”必须做URLencode;请求地址需加上callback=?,方可进行跨域请求。

试听地址:http://music.sina.com.cn/yueku/m.php?id=id

加入到微博:http://music.sina.com.cn/yueku/i/id.html (发送的微博带有此地址可被新浪微博识别,并可播放)

==============================================================

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MusicSearchDemo</title>
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.3.2/jquery.min.js"></script>
<script>
$(document).ready(function(){	
$("#search").click(function(){
$('#result').html('<img src="http://zqurobot.sinaapp.com/image/loading.gif" width="16" height="16" /> 歌曲加载中...');
var keyword=encodeURI($('#keyword').val());
var con="";
	$.getJSON('http://52its.sinaapp.com/api/music_search.php?keyword='+keyword+'&callback=?', function(data){
		for(var i=0;i<data.list.length;i++)
		{
			con=con+'<a href=http://music.sina.com.cn/yueku/m.php?id='+data.list[i].id+' target=_blank>试听</a> -- '+data.list[i].name+' -- '
                        +data.list[i].singer+"<br>";
		}
        $("#result").html(con);
	});
  });
  })
</script>
</head>

<body>
  <div style="margin-bottom:5px;"> 新浪乐库歌曲搜索</div>
<div><input id="keyword" type="text" value="请输入歌曲关键词" οnclick="this.value=''" /> <input id="search" type="button" value="搜索" /></div>
<div id="result" style="width:400px;display:block;margin-top:10px"></div>
</body>
</html>

http://www.52its.net/articles/195.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值