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

是否返回用戶音樂列表名稱與id

為1時返回,為0時不返回

dirid

QQ音樂用戶的列表id

 

uin

用戶的QQ號碼

 

p

隨機函數生成的隨機數

目前沒發現有什么作用隨便輸一個數就好

例子:

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

返回:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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只能獲取用戶開放的列表,如果用戶設定過只有自己可見的話,只能登錄后才能獲取,

 

 

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({

    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//歌曲長度

        }

    ]

})

 

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

 

 

例子:

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

返回:

<qqmusic>

<curtime>1323091348</curtime>

<issmarter>1</issmarter>

<xmusicnum>1</xmusicnum>

<playlist>

<song>

<xqusic_id>678348</xqusic_id>

<xctype>3</xctype>

<xexpire_time>0</xexpire_time>

<xdesc>

<![CDATA[ ]]>

</xdesc>

<xsong_name>

<![CDATA[ 迷人的危險 - 紫色迷情 ]]>

</xsong_name>

<xsinger_name>

<![CDATA[ Dance Flow ]]>

</xsinger_name>

<xsong_url>

<![CDATA[ http://stream3.qqmusic.qq.com/12678348.wma ]]>

</xsong_url>

<xsong_size>1675201</xsong_size>

<xsong_playtime>206</xsong_playtime>

<xsong_diskname>

<![CDATA[ df 1 ]]>

</xsong_diskname>

<xsong_dissid>57209</xsong_dissid>

<xis_word>0</xis_word>

<xcopy_right>0</xcopy_right>

<xsinger_id>3594</xsinger_id>

</song>

</playlist>

<systemtime>1323091348</systemtime>

</qqmusic>

 

6.獲取歌曲歌詞

HTTP請求格式:GET

返回類型:圖片

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

 

參數

意義

備注

{songid%100}

歌曲id對100取余

 

{songid}

歌曲id

 

 

例子:

GET http://music.qq.com/miniportal/static/lyric/5/449205.xml

返回:

<lyric>

<![CDATA[

[00:00.50] 稻香

 [00:02.03] 稻香

 [00:07.24]

 [00:10.08]作詞:周傑倫 作曲:周傑倫

 [00:15.55]

 [00:26.63]

 [00:30.61]對這個世界如果你有太多的抱怨

 [00:34.15]跌倒了 就不敢繼續往前走

 [00:36.98]為什么 人要這么的脆弱 墮落

 [00:41.11]請你打開

]]>

<![CDATA[

電視看看

 [00:42.94]多少人為生命在努力勇敢的走下去

 [00:46.87]我們是不是該知足

 [00:49.38]珍惜一切 就算沒有擁有

 [00:53.01]

 [00:53.90]還記得你說家是唯一的城堡

 [00:57.50]隨着稻香河流繼續奔跑

 [01:00.43]微微笑 小時候的夢我知道

 [01:05.53]不要哭讓螢火蟲帶著你逃跑

 [01:09.33]鄉間的歌謠永遠的依靠

 [01:12.13]回家吧 回到最初的美好

 [01:17.68]

 [01:40.86]不要這么容易就想放棄 就像我說的

 [01:44.21]追不到的夢想 換個夢不就得了

 [01:47.43]為自己的人生鮮艷上色

 [01:49.69]先把愛塗上喜歡的顏色

 [01:51.77]

 [01:52.57]笑一個吧 功成名就不是目的

 [01:55.54]讓自己快樂快樂這才叫做意義

 [01:58.52]童年的紙飛機 現在終於飛回我手里

 [02:02.90]

 [02:04.16]所謂的那快樂 赤腳在田里追蜻蜓追到累了

 [02:08.16]偷摘水果被蜜蜂給叮到怕了

 [02:11.42]誰在偷笑呢

 [02:13.16]我靠着稻草人吹着風唱着歌睡着了

 [02:16.62]哦 哦 午后吉它在蟲鳴中更清脆

 [02:19.53]哦 哦 陽光灑在路上就不怕心碎

 [02:22.62]珍惜一切 就算沒有擁有

 [02:26.57]

 [02:27.38]還記得你說家是唯一的城堡

 [02:31.13]隨着稻香河流繼續奔跑

 [02:34.05]微微笑 小時候的夢我知道

 [02:39.07]不要哭讓螢火蟲帶著你逃跑

 [02:42.81]鄉間的歌謠永遠的依靠

 [02:45.74]回家吧 回到最初的美好

 [02:49.90]

 [02:51.02]還記得你說家是唯一的城堡

 [02:54.49]隨着稻香河流繼續奔跑

 [02:57.50]微微笑 小時候的夢我知道

 [03:02.70]不要哭讓螢火蟲帶著你逃跑

 [03:06.20]鄉間的歌謠永遠的依靠

 [03:09.35]回家吧 回到最初的美好

 [03:15.01]

 [al:]摩羯座

 [ar:]周傑倫

 [ti:]稻香

]]>

</lyric>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM