QQ音乐Api接口

QQ音乐Api接口

2022年10月18日 阅读:40 字数:1661 阅读时长:4 分钟

QQ音乐Api接口,根据QQ号获取歌单,查询歌单的歌曲、歌曲地址以及歌词

前言

使用Node.js调用QQ音乐网页端的Api接口,不太稳定,企鹅爸爸随时可能会改,不过因为本站用到因此会持续维护更新。

这几个接口本意是用于个人学习,获取推荐自己的歌单,所以开放出来,请勿商用!

1、根据QQ号获取歌单

地址:https://api.timelessq.com/music/tencent/cdList

1.1、请求参数

参数名 位置 类型 必填 说明
uid
query
integer
示例值:804093032
QQ号码

1.2、示例代码

var axios = require('axios');

var config = {
   method: 'get',
   url: 'https://api.timelessq.com/music/tencent/cdList',
   params: {
      uid: 804093032
   }
};

axios(config)
.then(function (response) {
   console.log(JSON.stringify(response.data));
})
.catch(function (error) {
   console.log(error);
});

1.3、响应示例

{
  "errno": 0,
  "errmsg": "",
  "data": {
    "uid": 804093032, // QQ号码
    "nickname": "Timeless", // 昵称
    "avatar": "//q1.qlogo.cn/g?b=qq&s=100&nk=804093032", // 头像
    "total": 6, // 歌单总数
    "lists": [
      {
        "tid": 5238528691, // 歌单tid
        "name": "纯音乐", // 歌单名称
        "cover": "http://y.gtimg.cn/music/photo_new/T002R300x300M000000Ry6aJ0BrLMn.jpg?n=1", // 歌单封面
        "songCount": 19, // 歌曲总数
        "playCount": 9 // 播放总数
      },
      {
        "tid": 3602491623,
        "name": "英文",
        "cover": "http://y.gtimg.cn/music/photo_new/T002R300x300M0000025nt8m42OADw.jpg?n=1",
        "songCount": 83,
        "playCount": 4
      },
      {
        "tid": 3602478816,
        "name": "06年至今华语",
        "cover": "http://qpic.y.qq.com/music_cover/cKfAKDC7zjXlIAOgY5fBLVxWsqBb6LomWAqDTHY3iaUxHx903p9xuCw/300?n=1",
        "songCount": 235,
        "playCount": 1392
      },
      {
        "tid": 3602478179,
        "name": "动漫",
        "cover": "http://qpic.y.qq.com/music_cover/cKfAKDC7zjXlIAOgY5fBLXAfuAHTGMCWiaaAwInrxJLd54Mq7iaR7auw/300?n=1",
        "songCount": 63,
        "playCount": 257
      },
      {
        "tid": 1207922987,
        "name": "国风古风",
        "cover": "http://qpic.y.qq.com/music_cover/cKfAKDC7zjXlIAOgY5fBLaUibb5YKBlwkqQvcA6vPzwPiaJtkIlN1FeQ/300?n=1",
        "songCount": 120,
        "playCount": 4921
      },
      {
        "tid": 1207922986,
        "name": "我喜欢"
      }
    ]
  }
}

2、根据QQ号获取歌单

地址:https://api.timelessq.com/music/tencent/songList

2.1、请求参数

参数名 位置 类型 必填 说明
disstid
query
integer
示例值:1207922987
歌单tid

2.2、示例代码

var axios = require('axios');

var config = {
   method: 'get',
   url: 'https://api.timelessq.com/music/tencent/songList',
   params: {
      disstid: 1207922987
   }
};

axios(config)
.then(function (response) {
   console.log(JSON.stringify(response.data));
})
.catch(function (error) {
   console.log(error);
});

2.3、响应示例

{
  "errno": 0,
  "errmsg": "",
  "data": {
    "disstid": "1207922987", // 歌单tid
    "dissname": "国风古风", // 歌单名称
    "nickname": "Timeless",
    "cover": "http://qpic.y.qq.com/music_cover/cKfAKDC7zjXlIAOgY5fBLaUibb5YKBlwkqQvcA6vPzwPiaJtkIlN1FeQ/300?n=1", // 歌单封面
    "desc": "书籍和音乐难以分享", // 歌单描述
    "tags": [ // 标签
      "中国风",
      "UP主",
      "国语"
    ],
    "playCount": 4921, // 播放次数
    "songCount": 120, // 歌曲数量
    "songlist": [ // 歌曲列表
      {
        "songmid": "003KNS1k4GFVFF", // 歌曲mid
        "songname": "《凡人》段奥娟:任我 跌跌宕宕,浮浮沉沉 过一生", // 歌曲名称
        "interval": 258, // 歌曲时长 (秒)
        "singer": [ // 歌手
          {
            "id": 9140055,
            "mid": "004aME4e1QA4Wy",
            "name": "宝藏挖掘机"
          }
        ],
        "albumcover": "", // 专辑封面
        "albumname": "", // 专辑名称
        "albumdesc": "", // 专辑描述
        "free": true // 是否免费播放
      },
      {
        "songmid": "000wwOOX2dQqj1",
        "songname": "海底",
        "interval": 252,
        "singer": [
          {
            "id": 5396406,
            "mid": "000cCDsH288knt",
            "name": "阿萨Aza"
          },
          {
            "id": 4591514,
            "mid": "002xLuvw29QiEf",
            "name": "艾因Eine"
          }
        ],
        "albumcover": "",
        "albumname": "",
        "albumdesc": "",
        "free": true
      },
      {
        "songmid": "003bBhOx11Y8Qv",
        "songname": "归期",
        "interval": 279,
        "singer": [
          {
            "id": 2363307,
            "mid": "002uRtrh0zTUHw",
            "name": "钱润玉"
          }
        ],
        "albumcover": "https://y.gtimg.cn/music/photo_new/T002R300x300M000001PNKDm2Tqe06.jpg?max_age=2592000",
        "albumname": "凡人修仙传 第二季 动画原声带",
        "albumdesc": "《凡人修仙传》插曲",
        "free": true
      }
    ]
  }
}

3、根据歌曲id获取歌曲文件地址

地址:https://api.timelessq.com/music/tencent/songUrl

3.1、请求参数

参数名 位置 类型 必填 说明
songmid
query
string
示例值:000wwOOX2dQqj1
歌曲mid

3.2、示例代码

var axios = require('axios');

var config = {
   method: 'get',
   url: 'https://api.timelessq.com/music/tencent/songUrl',
   params: {
      songmid: '000wwOOX2dQqj1'
   }
};

axios(config)
.then(function (response) {
   console.log(JSON.stringify(response.data));
})
.catch(function (error) {
   console.log(error);
});

3.3、响应示例

{
  "errno": 0,
  "errmsg": "",
  "data": [
    {
      "songmid": "000wwOOX2dQqj1", // 歌曲mid
      "url": "http://ws.stream.qqmusic.qq.com/C400003OUqxv3cUnAd.m4a?guid=5768351945&vkey=AD5BE6DF2A734F2B6C5EE68560E99F5F497991D4732234C3825A6E749E09CE4248942C8B3150387E225A0F1A0BDD8BE512BF4C2C94D9B5F1&uin=&fromtag=120032" // 歌曲地址
    }
  ]
}

4、根据歌曲id获取歌词

地址:https://api.timelessq.com/music/tencent/lyric

4.1、请求参数

参数名 位置 类型 必填 说明
songmid
query
string
示例值:000wwOOX2dQqj1
歌曲mid

4.2、示例代码

var axios = require('axios');

var config = {
   method: 'get',
   url: 'https://api.timelessq.com/music/tencent/lyric',
   params: {
      songmid: '000wwOOX2dQqj1'
   }
};

axios(config)
.then(function (response) {
   console.log(JSON.stringify(response.data));
})
.catch(function (error) {
   console.log(error);
});

4.3、响应示例

{
  "errno": 0,
  "errmsg": "",
  "data": {
    "lyric": "[ti:海底]\n[ar:阿萨Aza/艾因Eine/艾因Eine]\n[al:]\n[by:]\n[offset:0]\n[00:00.00]海底 - 阿萨Aza/艾因Eine\n[00:23.06]一个猎人她走上海岸\n[00:30.15]\n[00:30.85]潮涌潮枯\n[00:34.14]\n[00:34.80]故乡总在呼唤\n[00:38.38]她的路在身前\n[00:40.63]背负所有苦难\n[00:45.14]\n[00:45.94]她的路还长远\n[00:48.44]有浓雾弥漫\n[00:52.42]\n[00:53.25]她其实看不清\n[00:57.07]未来要往何处去\n[01:01.52]循着咸腥海风\n[01:03.84]踏入一座遗迹\n[01:08.71]\n[01:09.26]这是座死气沉沉的城市\n[01:11.62]街道都一个样子\n[01:13.64]衔着红花的小鸟转身躲进巷子\n[01:16.84]到处是行尸走肉的人\n[01:19.48]甘愿苟且偷生\n[01:21.42]可是人性犹在\n[01:22.82]\n[01:24.64]她说她不敢在大地上流血\n[01:28.46]招致不幸摧毁珍视的一切\n[01:32.32]永远孑然一身\n[01:34.68]与孤独为伴\n[01:38.51]\n[01:41.05]大海的歌谣\n[01:42.77]总在夜里\n[01:43.75]轻轻哼起\n[01:44.86]那熟悉的旋律\n[01:46.67]有什么被唤醒\n[01:48.50]于是她抱起拉琴\n[01:50.51]浪花为她指路\n[01:52.36]身着一袭红裙\n[01:54.14]她不为谁止步\n[01:55.89]\n[01:56.41]人们都说她古怪\n[01:58.08]总是捉摸不定\n[01:59.75]\n[02:00.32]却不知腐败\n[02:01.90]伊比利亚仍然一意孤行\n[02:04.20]危险不断在接近\n[02:05.69]将审判的剑握紧不容任何犹豫\n[02:08.11]贯彻你所认可的正义\n[02:10.06]去看清去怀疑\n[02:11.75]\n[02:15.42]一个歌者她回到海岸\n[02:22.69]\n[02:23.25]路在身前\n[02:26.25]\n[02:26.92]无需哀叹\n[02:30.71]周身鱼群游弋\n[02:32.88]血亲在呼唤\n[02:36.59]\n[02:38.11]歌声漫过天际\n[02:40.61]她在将谁找寻\n[02:45.77]到处是苟延残喘的生灵\n[02:48.35]偷换写好的命运\n[02:50.45]衔着红花的小鸟还困在囚笼里\n[02:53.58]击溃道貌岸然的庄严\n[02:56.13]时机恰好相见\n[02:58.15]深海猎人血脉相连\n[03:00.70]\n[03:01.54]祈祷时群星落寞不敢睁眼\n[03:04.66]\n[03:05.21]落泪时夜晚为她展露笑颜\n[03:08.50]\n[03:09.18]当她不在悲叹\n[03:11.39]故友在眼前\n[03:14.94]\n[03:20.22]潮涌起潮退去\n[03:24.12]抹去深浅足迹\n[03:28.06]潮退去又涌起\n[03:31.92]静谧笼罩废墟\n[03:35.74]潮涌起潮退去\n[03:38.86]\n[03:39.50]困不住搁浅的鲸\n[03:42.91]\n[03:43.42]我就站在这里\n[03:46.70]\n[03:47.28]与命运并驾齐驱", // 歌词
    "tlyric": "" // 歌词翻译
  }
}

5、歌曲搜索

地址:https://api.timelessq.com/music/tencent/search

5.1、请求参数

参数名 位置 类型 必填 说明
keyword
query
string
示例值:上里与手抄卷
歌曲名关键字
page
query
integer
分页
pageSize
query
integer
每页个数

5.2、示例代码

var axios = require('axios');

var config = {
   method: 'get',
   url: 'https://api.timelessq.com/music/tencent/search?keyword=上里与手抄卷&page=1&pageSize=10',
};

axios(config)
.then(function (response) {
   console.log(JSON.stringify(response.data));
})
.catch(function (error) {
   console.log(error);
});

5.3、响应示例

{
  "errno": 0,
  "errmsg": "",
  "data": {
    "total": 156, // 总数
    "list": [
      {
        "songmid": "000tTYcw1k3e9n", // 歌曲mid
        "songname": "上里与手抄卷", // 歌曲名称
        "interval": 318, // 歌曲时长
        "singer": [ // 歌手
          {
            "id": 1011983,
            "name": "双笙 (陈元汐)"
          },
          {
            "id": 166322,
            "name": "闫东炜"
          }
        ],
        "albumcover": "https://y.gtimg.cn/music/photo_new/T002R300x300M0000036CpxM3QalIa.jpg?max_age=2592000", // 专辑图片
        "albumname": "上里与手抄卷", // 专辑名称
        "albumdesc": "", // 专辑描述
        "free": true // 是否免费
      }
    ]
  }
}

 

对咱歌单感兴趣的小伙伴可以到这看看 https://www.timelessq.com/tool/music

侵权请联系删除

推荐阅读

恰饭区

评论区 (0)

0/500

还没有评论,快来抢第一吧