原文地址:QQ音乐的API 作者:子木潇雨
我一直是QQ音乐的用户,最近想做一个应用,想用QQ音乐的API,搜索了很久无果,于是就自己分析QQ音乐的API。
前不久发现QQ音乐 出了网页版的,是Flash的,但是,我用iPhone打开这个链接的时候,它居然自动跳转到一个地址了,居然跳转到 http://soso.music.qq.com/ipad/player.html,看到这个地址,里面有个“ipad”我的第一反应是“难道是 HTML5和JS写的”,我在iPhone上试用了一下,发现确实能用。由此得出,这个iPad版的QQ音乐不是Flash,我在电脑上打开了这个地址, 发现可以打开,于是果断动了歪点子。“既然是HTML和JS写的,我果断就可以分析出QQ音乐里面的API啦!!!”于是马上动手看代码。
分析的过程就不说了,很快就初步得出下面的一个API了,通过这个可以获取到指定QQ号的QQ音乐列表:
HTTP请求格式:GET 返回格式:json
API地址:http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg
参数
dirinfo
dirid QQ音乐用户的列表id
uin 用户的QQ号码
p 随机函数生成的随机数 目前没发现有什么作用随便输一个数就好
例子:
返回: jsonCallback({
1.获取用户列表
HTTP请求格式:GET 返回格式:json
API地址:http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg
参数
dirinfo 是否返回用户音乐列表名称与id 为1时返回,为0时不返回
dirid QQ音乐用户的列表id
uin 用户的QQ号码
p 随机函数生成的随机数
例子 GET http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=1&dirid=1&uin=81549201&p=1212121
返回 jsonCallback({
2.返回用户绿钻等级
HTTP请求格式:GET 返回类型:XML/json
API地址:http://qzone-music.qq.com/fcg-bin/fcg_vip_getlevel.fcg
参数 意义 备注
json 返回格式 为1时json,为0时XML
uin 用户的QQ号码
例子 GET http://qzone-music.qq.com/fcg-bin/fcg_vip_getlevel.fcg?json=1&uin=8549201
返回 getVipLevelCallback( { level:3,//绿钻等级 vip:0,//是否绿钻 score:0,//。。。 place:0,//。。。 payway:8,//支付方式 isyear:0//是否年费 } )
3.随便听听列表
HTTP请求格式:GET 返回类型:json
API地址:http://music.qq.com/musicbox/shop/v3/data/random/{type} /random{num}.js?p={random}
参数 意义 备注
type 歌曲类型/曲风 具体对应关系待分析
num 序号 待分析
random 随机函数生成的随机数
目前没发现有什么作用随便输一个数就好
例子: GET http://music.qq.com/musicbox/shop/v3/data/random/1/random1.js?p=12
返回: JsonCallback( { retcode:”1″, songlist: [ { id:"449205",//id type:3,//类型 url:"http://stream9.qqmusic.qq.com:0/449205.wma",//试听地址 songName:"稻香",//歌曲名 singerId:"4558",//歌曲id singerName:"周杰伦",//歌手名 albumId:"36062",//专辑id albumName:"魔杰座",//专辑名 albumLink:"http://shop.qqmusic.qq.com/static/album/62/album_36062.htm", //专辑链接
4.获取专辑封面
HTTP请求格式:GET 返回类型:图片
API地址:http://imgcache.qq.com/music/photo/album/{albumid0} /albumpic_{albumid}_0.jpg
参数 意义 备注
{albumid0} 专辑id对100取余
{albumid} 专辑id
例子: GET http://imgcache.qq.com/music/photo/album/62/albumpic_36062_0.jpg
返回: 周杰伦跨时代专辑封面
5.获取用户QQ空间音乐
HTTP请求格式:GET
返回类型:XML
API地址:http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg
参数 意义 备注
uin QQ号
例子: GET http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?uin=81549201
返回: 1323091348 1 1 678348 3 0 迷人的危险 - 紫色迷情 Dance Flow http://stream3.qqmusic.qq.com/12678348.wma 1675201 206 df 1 57209 0 0 3594 1323091348
6.获取歌曲歌词
HTTP请求格式:GET
返回类型:图片
API地址:http://imgcache.qq.com/music/photo/album/songid0} /albumpic_{songid}_0.jpg
参数 意义 备注
{songid0} 歌曲id对100取余
{songid} 歌曲id
例子: GET http://music.qq.com/miniportal/static/lyric/5/449205.xml
返回: [00:00.50] 稻香