接口仅供交流学习使用
github 项目地址 希望大家给个star 以支撑我初期坚持不懈的动力。
因为之前使用网络上别人封装的音乐api现在无法使用,或者一些需要付费使用,当然这也无可厚非。
但对我而言,只需要简单的一些音乐api做一些东西。 感觉给钱有点亏。 就自己搞一个简单的符合我的需求的吧。
很简单的三个基本的功能。
所有方法都是GET
本项目所支持的Api
GET
参数 | 类型 | 描述 |
---|---|---|
p | string | 页码 |
n | string | 数目 |
w | string | 关键词 |
返回参数
上级 | 参数 | 类型 | 描述 |
---|---|---|---|
— | curpage | int | 页码 |
— | curnum | int | 数目 |
— | list | array [ object ] | 音乐列表 |
list > {} | songname | string | 歌曲名 |
list > {} | songname | string | 歌曲名 |
list > {} | albumname | string | 专辑名 |
list > {} | songmid | string | 歌曲id,用来请求播放地址 |
list > {} | albumimg | string | 封面图 |
list > {} | singer | object | 歌手信息 |
list > {} > singer | id | int | 歌手id |
list > {} > singer | name | string | 歌手名称 |
eg:
https://api.zsfmyz.top/music/list?p=1&n=30&w=蔡徐坤
返回参数举例
{
"code": "0",
"data": {
"curnum": 30,
"curpage": 1,
"list": [
{
"songname": "情人",
"singer": {
"id": 1016794,
"mid": "002nXp292LIOGV",
"name": "蔡徐坤",
"name_hilight": "蔡徐坤"
},
"albumname": "情人",
"songmid": "000aWBBQ2fMyBJ",
"albumimg": "http://imgcache.qq.com/music/photo/album_300/88/300_albumpic_12583588_0.jpg"
},
{
"songname": "YOUNG",
"singer": {
"id": 1016794,
"mid": "002nXp292LIOGV",
"name": "蔡徐坤",
"name_hilight": "蔡徐坤"
},
"albumname": "YOUNG",
"songmid": "004BxrBT3coQnC",
"albumimg": "http://imgcache.qq.com/music/photo/album_300/78/300_albumpic_7156278_0.jpg"
},
{
"songname": "Wait Wait Wait",
"singer": {
"id": 1016794,
"mid": "002nXp292LIOGV",
"name": "蔡徐坤",
"name_hilight": "蔡徐坤"
},
"albumname": "Wait Wait Wait",
"songmid": "002kRCBE4dfcU2",
"albumimg": "http://imgcache.qq.com/music/photo/album_300/19/300_albumpic_4359819_0.jpg"
},
// .....
]
}
}
GET
参数
无
返回参数
上级 | 参数 | 类型 | 描述 |
---|---|---|---|
— | date | string | 日期 |
— | curpage | int | 页码 |
— | curnum | int | 数目 |
— | list | — | 音乐列表 |
— | list | array [ object ] | 音乐列表 |
list > {} | songname | string | 歌曲名 |
list > {} | songname | string | 歌曲名 |
list > {} | albumname | string | 专辑名 |
list > {} | songmid | string | 歌曲id,用来请求播放地址 |
list > {} | albumimg | string | 封面图 |
list > {} | singer | object | 歌手信息 |
list > {} > singer | id | int | 歌手id |
list > {} > singer | name | string | 歌手名称 |
— | 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音乐用户追新潮流,致力于打造最权威最有公信力的专业健康的新歌排行榜。
歌曲数量:100首
综合数据:登录用户在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"
}
}
}
GET
参数 | 类型 | 描述 |
---|---|---|
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=AD7592245F651C2509E1C9B94E3A234B039967023066203214278A71E9DE4E6F3972EA83BB52F80EE74218B39305B6EAC9B0F6A610B0F947&uin=0&fromtag=66",
"lyric": "无"
}
}
GET
参数 | 类型 | 描述 |
---|---|---|
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]...",
}
}
}
根据每日福利社的接口进行了封装,因为他们的https失效了,所以自己反向代理了。
GET
参数 | 类型 | 描述 |
---|---|---|
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接口地址,可直接食用。
目前
此方法需要参考本文开头说明中的 2020/6/03 更新中的说明的获取sign的文章再获取token
原文依据
以下是我根据此api所写的服务及小程序的项目地址,大家可以拿来测试体验。