新浪开发平台提供的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"
}
]
}
字段说明
返回值字段 | 字段类型 | 字段说明 |
id | int64 | 新浪乐库的歌曲ID,加上对应网址,可进行试听 |
name | string | 歌曲名称 |
singer | string | 歌手 |
album | string | 歌曲专辑 |
error_code | int64 | 错误代码 |
error | string | 错误原因 |
注意事项
传递的参数“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