2020最新封裝QQ音樂api(持續更新,僅免費歌曲)

說明

github 項目地址 歡迎star

2020/6/03

  1. 接口已恢復。感謝蒟蒻…的幫助, 才能這麼快解決這個問題。有興趣可以查看他的關於sign獲取的文章
  2. 之前分出了ts的分支,主要開始維護ts分支,master可能會更新的晚一點,如果需要自己啓服務的話可以下載ts分支,有問題也可以回覆,我可以協助一下。

2020/5/27

  1. 發現獲取vkey的接口現在獲取不到了,應該是官方換了請求方式,目前播放地址受到了影響,無法播放,修復時間待定。

2020/5/7

  1. 之前要使用api的話只能通過服務端請求,嗯嗯…想了想,現在支持跨域了。還是僅測試使用,服務器太渣渣。。經不起造。

2020/2/25

  1. 最近在做新的項目,叫小魚乾APP,可以在百度,vivo,小米,apple store 中下載,暫時沒有時間來搞這個音樂api的東西了,不過服務沒有停,如果想用來測試或者玩玩的還是可以用的。

2019/12/26 更新

  1. 獲取歌曲播放地址接口 增加 lyric參數代表是否獲取歌詞。
  2. 增加獲取歌詞接口

2019/12/24 更新

  1. 所有音樂接口更改,增加一層music/ ,獲取地址改爲 music/song
  2. 增加福利圖片接口
  3. 示例接口更改爲https

接口僅供交流學習使用

github 項目地址 希望大家給個star 以支撐我初期堅持不懈的動力。

因爲之前使用網絡上別人封裝的音樂api現在無法使用,或者一些需要付費使用,當然這也無可厚非。

但對我而言,只需要簡單的一些音樂api做一些東西。 感覺給錢有點虧。 就自己搞一個簡單的符合我的需求的吧。

文檔

所支持的Api

  1. 音樂搜索
  2. 音樂top100列表
  3. 音樂播放地址
  4. 福利圖片 (新增 2019/12/24).
  5. 音樂歌詞 (新增 2019/12/26).

很簡單的三個基本的功能。

所有方法都是GET

本項目所支持的Api

音樂 music

音樂列表

list

參數 類型 描述
p string 頁碼
n string 數目
w string 關鍵詞

返回參數

參數 類型 描述
curpage int 頁碼
curnum int 數目
list 音樂列表

eg:

    http://api.zsfmyz.top/music/list?p=1&n=30&w=簡單愛

返回參數舉例

    {
    "curnum": 41,
    "curpage": 1,
    "list": [
        {
            "songname": "簡單愛",
            "singer": {
                "id": 4558,
                "mid": "0025NhlN2yWrP4",
                "name": "周杰倫",
                "name_hilight": "周杰倫"
            },
            "albumname": "范特西",
            "songmid": "0009BCJK1nRaad",
            "albumimg": "http://imgcache.qq.com/music/photo/album_300/17300_albumpic_8217_0.jpg"
        },
        {
            "songname": "簡單愛 (Live)",
            "singer": {
                "id": 4558,
                "mid": "0025NhlN2yWrP4",
                "name": "周杰倫",
                "name_hilight": "周杰倫"
            },
            "albumname": "周杰倫 2004 無與倫比 演唱會 Live CD",
            "songmid": "0022nw6P1dcHgp",
            "albumimg": "http://imgcache.qq.com/music/photo/album_300/23300_albumpic_14323_0.jpg"
        },
        {
            "songname": "簡單愛 (Live)",
            "singer": {
                "id": 143,
                "mid": "003Nz2So3XXYek",
                "name": "陳奕迅",
                "name_hilight": "陳奕迅"
            },
            "albumname": "2015江蘇衛視新年演唱會",
            "songmid": "001IcyF42TKTf1",
            "albumimg": "http://imgcache.qq.com/music/photo/album_300/53300_albumpic_929853_0.jpg"
        }
    ]
}

音樂top100列表

top

參數

返回參數

參數 類型 描述
date string 日期
curpage int 頁碼
curnum int 數目
list 音樂列表
topinfo 音樂top100信息

list中歌曲信息比普通列表多了排名: cur_count

eg:

    https://api.zsfmyz.top/music/top

返回參數舉例

    {
    "code": "0",
    "data": {
        "code": 0,
        "date": "2019-12-05",
        "curnum": 100,
        "curpage": 1,
        "list": [
            {
                "cur_count": "1",
                "songname": "像極了",
                "singer": {
                    "id": 1441799,
                    "mid": "0023dQD40to8NP",
                    "name": "永彬Ryan.B"
                },
                "albumname": "像極了",
                "songmid": "000V8En93R3Dvd",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/36300_albumpic_9218636_0.jpg"
            },
            {
                "cur_count": "2",
                "songname": "拱手相讓",
                "singer": {
                    "id": 22529,
                    "mid": "001z6uGh1j5qBh",
                    "name": "勝嶼"
                },
                "albumname": "拱手相讓",
                "songmid": "002DIlMZ48qB1F",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/66300_albumpic_9414066_0.jpg"
            },
            {
                "cur_count": "3",
                "songname": "餘年",
                "singer": {
                    "id": 1060985,
                    "mid": "0022eAG537I1bg",
                    "name": "肖戰"
                },
                "albumname": "餘年",
                "songmid": "000bFWrY2VrdVp",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/92300_albumpic_9423892_0.jpg"
            },
            {
                "cur_count": "4",
                "songname": "觸不可及",
                "singer": {
                    "id": 199509,
                    "mid": "003fA5G40k6hKc",
                    "name": "周深"
                },
                "albumname": "觸不可及",
                "songmid": "002EFRnf3ekI9S",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/4300_albumpic_9320604_0.jpg"
            },
            {
                "cur_count": "5",
                "songname": "冷靜和熱情之間",
                "singer": {
                    "id": 198135,
                    "mid": "001IoTZp19YMDG",
                    "name": "易烊千璽"
                },
                "albumname": "冷靜和熱情之間",
                "songmid": "0014YYnw3vadJJ",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/59300_albumpic_9415259_0.jpg"
            },
            {
                "cur_count": "6",
                "songname": "美麗謊言",
                "singer": {
                    "id": 71976,
                    "mid": "001gthIA2JeIV1",
                    "name": "都智文"
                },
                "albumname": "美麗謊言",
                "songmid": "003sJCeZ1iK9mZ",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/88300_albumpic_9353488_0.jpg"
            },
            {
                "cur_count": "7",
                "songname": "那男孩還好嗎",
                "singer": {
                    "id": 3298773,
                    "mid": "003yGiqM2qF7Gm",
                    "name": "Uu"
                },
                "albumname": "那男孩還好嗎",
                "songmid": "002COmzJ0SPZMl",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/36300_albumpic_9132036_0.jpg"
            },
            {
                "cur_count": "8",
                "songname": "星辰大海",
                "singer": {
                    "id": 25724,
                    "mid": "0044vhyY2lfSB8",
                    "name": "周冬雨"
                },
                "albumname": "星辰大海",
                "songmid": "003enTsq4M1J59",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/63300_albumpic_9305663_0.jpg"
            },
            {
                "cur_count": "9",
                "songname": "Lover (Remix)",
                "singer": {
                    "id": 11921,
                    "mid": "000qrPik2w6lDr",
                    "name": "Taylor Swift"
                },
                "albumname": "Lover (Remix)",
                "songmid": "000H6p9p0V4MXi",
                "albumimg": "http://imgcache.qq.com/music/photo/album_300/58300_albumpic_9207358_0.jpg"
            },
        ],
        "topinfo": {
            "ListName": "巔峯榜·新歌",
            "MacDetailPicUrl": "http://y.gtimg.cn/music/common/upload/iphone_order_channel/20150820172435.jpg",
            "MacListPicUrl": "http://y.gtimg.cn/music/common/upload/iphone_order_channel/20150820172427.jpg",
            "UpdateType": "1",
            "albuminfo": "",
            "headPic_v12": "http://y.gtimg.cn/music/common/upload/iphone_order_channel/20150820174934.jpg",
            "info": "集結30天內發行的優質歌曲,鼓勵原創、着眼未來的樂壇風向標。根據每日綜合數據進行排序,體現QQ音樂用戶追新潮流,致力於打造最權威最有公信力的專業健康的新歌排行榜。<br><br>歌曲數量:100首<br>綜合數據:登錄用戶在QQ音樂收聽/分享/下載數據",
            "listennum": 1497166,
            "pic": "http://y.gtimg.cn/music/common/upload/iphone_order_channel/20150820172421.jpg",
            "picDetail": "http://y.gtimg.cn/music/common/upload/iphone_order_channel/20150820172414.jpg",
            "pic_album": "http://imgcache.qq.com/music/photo_new/T002R300x300M000000tSk703NJAVD.jpg",
            "pic_h5": "http://y.gtimg.cn/music/common/upload/iphone_order_channel/20150820172242.jpg",
            "pic_v11": "http://y.gtimg.cn/music/common/upload/iphone_order_channel/20150820172421.jpg",
            "pic_v12": "http://y.gtimg.cn/music/photo_new/T003R300x300M000003zALCN1hkB6y.jpg",
            "topID": "27",
            "type": "0"
        }
    }
}

音樂播放地址

song

參數 類型 描述
songmid string 用於獲取token
guid string 用於獲取token
lyric string 默認爲0不獲取歌詞,1獲取歌詞

其他參數固定

返回參數

參數 類型 描述
musicUrl string 音樂播放地址

eg:

    https://api.zsfmyz.top/music/song?songmid=000aWBBQ2fMyBJ&guid=126548448

返回參數舉例

    {
    "code": "0",
    "data": {
        "musicUrl": "https://ws.stream.qqmusic.qq.com/C400000aWBBQ2fMyBJ.m4a?guid=126548448&vkey=7C36BF0D72FA9B937D4CCD40B7F35E1C65D6C13458A06F8D77FCCC612DBD6A2DA96237FAA0B1C44D62750350EFA7FC35A74E34B964AAD7C5&uin=0&fromtag=66",
        "lyric": "無"
    }
}

音樂歌詞

lyric

參數 類型 描述
songmid string 用於獲取歌詞

其他參數固定

返回參數

參數 類型 描述
lyric string 歌詞內容

eg:

    https://api.zsfmyz.top/music/lyric?songmid=000wocYU11tSzS

返回參數舉例

    {
    "code": "0",
    "data": {
        "lyric": "[ti:差不多姑娘]\n[ar:G.E.M. 鄧紫棋]\n[al:差不多姑娘]\n[by:]\n[offset:0]\n[00:00.00]差不多姑娘 - G.E.M. 鄧紫棋\n[00:00.17]\n[00:02.67]差不多的姑娘\n[00:06.27]追逐差不多的漂亮\n[00:11.88]她們差不多的願望\n[00:17.18]牽着她們鼻子方向\n[00:23.05]我回到差不多的家\n[00:24.38]躺在差不多的沙發\n[00:25.68]微博差不多的刷\n[00:26.99]都喫着差不多的瓜\n[00:28.48]那標題差不多的炸\n[00:29.78]...",
        }
    }
}

福利圖片 welfare

根據每日福利社的接口進行了封裝,因爲他們的https失效了,所以自己反向代理了。

圖片列表

list

參數 類型 描述
per_page string 每頁數據量
page string 第幾頁

其他參數固定

返回參數

如下:

eg:

    https://api.zsfmyz.top/welfare/list?per_page=20&page=2

返回參數舉例

{
    "code": 0,
    "data": {
        "error": false,
        "results": [
            {
                "_id": "5b63cd4e9d21225e0d3f58c9",
                "createdAt": "2018-08-03T11:34:38.672Z",
                "desc": "2018-08-03", //描述 
                "publishedAt": "2018-08-03T00:00:00.0Z",
                "source": "api",
                "type": "福利", // 類型
                "url": "https://ww1.sinaimg.cn/large/0065oQSqgy1ftwcw4f4a5j30sg10j1g9.jpg", //圖片地址
                "used": true,
                "who": "lijinshan"
            },
            {
                "_id": "5b6151509d21225206860f08",
                "createdAt": "2018-08-01T14:21:04.556Z",
                "desc": "2018-08-01",
                "publishedAt": "2018-08-01T00:00:00.0Z",
                "source": "api",
                "type": "福利",
                "url": "https://ww1.sinaimg.cn/large/0065oQSqly1ftu6gl83ewj30k80tites.jpg",
                "used": true,
                "who": "lijinshan"
            },
            // ...
        ]
    }
}

over 暫時只有這 ~~ 三 ~~ 四個,不過做一個音樂demo足夠了,有興趣的話可以試試。

~~ http://api.zsfmyz.top/ ~~ https://api.zsfmyz.top/ 是目前開放的api接口地址,可直接食用。

原接口說明

搜索

  • https://c.y.qq.com/soso/fcgi-bin/client_search_cp?aggr=1&cr=1&flag_qc=0&p=1&n=30&w=簡單愛

封面

  • http://imgcache.qq.com/music/photo/album_300/[albumid%100]/300_albumpic_[albumid]_0.jpg, albumid%100, albumid
  • 比如albumid=8217,封面地址就是
  • http://imgcache.qq.com/music/photo/album_300/17/300_albumpic_8217_0.jpg。

歌曲token

  • https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?format=json205361747&platform=yqq&cid=205361747&songmid=003lghpv0jfFXG&filename=C400003lghpv0jfFXG.m4a&guid=126548448
  1. songmid可以從歌曲信息中取到,filename根據songmid生成。
  2. 比如,songmid是003lghpv0jfFXG,則filename就是前綴加上C400,後綴加上.m4a,即C400003lghpv0jfFXG.m4a。
  3. 其他字段format、platform、cid、guid可以寫死,但都是必須的。

拼接播放地址

  • http://ws.stream.qqmusic.qq.com/C400003lghpv0jfFXG.m4a?fromtag=0&guid=126548448&vkey=D661E5DF19B8FEB2FBFC554276746AC608AE98B0F30595B3B3BAD5C1C89ECCDD7BE599E306F786621856D22D6BD6B96F5DD344CF3814DB71

原文依據

以下是我根據此api所寫的服務及小程序的項目地址,大家可以拿來測試體驗。

小程序項目地址歡迎star

音樂api服務項目地址歡迎star

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章