分享qq音乐api

 

前提

 

首先参考一个ipad的qq音乐网页播放器:http://soso.music.qq.com/ipad/player.html,看到这个地址,里面有个“ipad”我的第一反应是“是 HTML5和JS写的”,我在iPhone上试用了一下,发现确实能用。由此得出,这个iPad版的QQ音乐不是Flash,我在电脑上打开了这个地址, 发现可以打开,于是果断动了歪点子。“既然是HTML和JS写的,我果断就可以分析出QQ音乐里面的API啦!!!”于是马上动手看代码。

 

得到QQ音乐列表:

1.通过这个可以获取到指定QQ号的QQ音乐列表:

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 随机函数生成的随机数 目前没发现有什么作用随便输一个数就好 

 

例子: GEThttp://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=1&dirid=1&uin=81549201&p=1212121 

返回:  jsonCallback({     

                     code:0,    

                     msg:"",    

                  uin:81549201,     

                DirList:[ {DirID:1, //列表id

                                          DirName:"我最爱听",//列表名

                                          DirShow:1,//是否开放,1是,0否

                                          DirTime:1323078355//时间}],

                     SongDirID:2,//返回的列表id

                     SongNum:1,//列表内歌曲数量     

                     CurNum:1,//当前播放歌曲排序

                     SongList:[{i:1,//列表内歌曲的id

                                          type:13,//类型

                                          id:680277,//歌曲在曲库中id

                                          songname:"跨时代",//歌名

                                          singerid:4558,//歌手id

                                          singername:"周杰伦",//歌手名

                                          url:"http://stream5.qqmusic.qq.com/12680277.wma",歌曲地址

                                          diskid:56705,//专辑id

                                          diskname:"跨时代",//专辑名

                                          playtime:194//歌曲长度         }    ] })

 备注: 经过测试,这个API只能获取用户开放的列表,如果用户设定过只有自己可见的话,只能登录后才能获取,    

      

       2.搜索qq音乐

HTTP请求格式:GET 返回格式:json API地址:

http://soso.music.qq.com/fcgi-bin/fcg_search_xmldata.fcg?source=0&w={搜索词} &type=qry_song&out=json&p=1&perpage=20&ie=utf-8

参数 source 资源 具体意义不明,设0好像是默认值

         w 搜索词

    p 当前页数

         perpage 每页数量

    ie=utf-8 固定编码


例子:http://soso.music.qq.com/fcgi-bin/fcg_search_xmldata.fcg?source=0&w=%E7%BB%85%E5%A3%AB&type=qry_song&out=json&p=1&perpage=2&ie=utf-8

 

返回 searchJsonCallback(

{retcode:0,

subcode:0,

totalnum:215,

curnum:2,

curpage:1,

keyword:"绅士",

qcnum:0,

g_searchid:"2382622035949641",

qc:[],

list:[{source:11,

              songid:102425546,

              songname:"绅士",

              singerid:"5062",

              singername:"薛之谦",

              albumid:989994,

              albumname:"绅士",

              pubtime:1433433600,

       songurl:"http://stream4.qqmusic.qq.com/114425546.wma",

       conn:20,

       fromat:"qqhq;common;mp3common;wmacommon;crcommon",

       download:1,

       size:2509366,

       interval:290000,

       songmid:"001CG3wA3QkuJS",

       singermid:"002J4UUk29y8BY",

       albummid:"003y8dsH2wBHlo"},{source:11,songid:7085699,songname:"Gentleman",singerid:"13143",singername:"PSY",albumid:426795,albumname:"Gentleman",pubtime:1365696000,songurl:"http://stream5.qqmusic.qq.com/19085699.wma",conn:20,fromat:"qqhq;common;mp3common;wmacommon;crcommon",download:1,size:1674194,interval:194000,songmid:"001EuFfn0UeKeE",singermid:"002vbc3A2bv88T",albummid:"001rLHLN3xARzn"}]})        

 

      

       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",//专辑链接  playtime:"223"//歌曲长度,单位秒 }, ] } )    

 

       4.获取专辑封面 HTTP请求格式:GET 返回类型:图片 API地址:

       http://imgcache.qq.com/music/photo/album/{albumid%100}/albumpic_{albumid}_0.jpg  参数 意义 备注 {albumid%100} 专辑id对100取余   {albumid} 专辑id    

例子: GEThttp://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号    

       例子: GEThttp://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?uin=81549201

       返回:

                    

                                           1323091348

                                           1

                                           1

                                           

                                           

                                           678348

                                           3

                                           0

                                           

                                                      

                                           

                                           

                                                      

                                           

                                           

                                                      

                                           

                                           

                                           

                                           

                                           1675201

                                           206

                                           

                                                      

                                           

                                           57209

                                           0

                                           0

                                           3594

                                           

                                           

                                           1323091348

                      

 

 

6.    获取歌曲歌词 HTTP请求格式:GET 返回类型:图片

API地址:http://imgcache.qq.com/music/photo/album/songid%100}/albumpic_{songid}_0.jpg 

参数 {songid%100} 歌曲id对100取余  

         {songid} 歌曲id    

例子: GEThttp://music.qq.com/miniportal/static/lyric/5/449205.xml 返回:

     

     


你可能感兴趣的:(分享qq音乐api)