前言

这是一个基于 Cloudflare Workers + D1 数据库 的 QQ 音乐 API 服务,无需服务器,自动刷新凭证,部署只需几分钟。

示例api网址api.ygking.top

文档站doc.ygking.top

为什么选择 Cloudflare Workers?

特性 说明
💰 完全免费 每天 10 万次免费请求,个人使用绑绑有余
🚀 全球 CDN 部署在 Cloudflare 全球边缘节点,延迟极低
🔄 自动刷新 Cron 定时任务自动刷新凭证,无需人工干预
📦 D1 数据库 SQLite 边缘数据库,凭证持久化存储
🔧 零运维 无服务器架构,不用担心宕机、升级等问题

功能一览

本项目提供以下 API 端点:

1
2
3
4
5
6
7
8
GET /api/search?keyword=周杰伦    # 搜索歌曲/歌手/专辑/歌单
GET /api/song/url?mid=xxx # 获取歌曲播放链接
GET /api/song/detail?mid=xxx # 获取歌曲详情
GET /api/lyric?mid=xxx # 获取歌词
GET /api/album?mid=xxx # 获取专辑详情
GET /api/playlist?id=xxx # 获取歌单详情
GET /api/singer?mid=xxx # 获取歌手信息
GET /api/top # 获取排行榜

快速部署

步骤 1: Fork 仓库

Fork qq-music-api 到你的 GitHub。

步骤 2: 创建 D1 数据库

  1. 登录 Cloudflare Dashboard
  2. 进入 D1 SQL Database > Create database
  3. 名称填写: qq-music-api
  4. 复制 Database ID

步骤 3: 创建 Worker 并连接 Git

  1. Workers & Pages > Create > Create Worker
  2. 名称: qq-music-api,点击 Deploy
  3. Settings > Build > Connect Git repository
  4. 选择你 Fork 的仓库

步骤 4: 设置凭证

  1. Settings > Variables and Secrets > Add
  2. Type: Secret
  3. Name: INITIAL_CREDENTIAL
  4. Value: 粘贴你的 QQ 音乐凭证 JSON

步骤 5: 初始化

访问 https://你的域名/admin 完成数据库初始化。

如何获取凭证?

可以使用 QQ-Music-Playerqq-music-download 等工具进行 QQ 登录获取凭证。

使用示例

搜索歌曲

1
curl "https://api.ygking.top/api/search?keyword=晴天&mun=5"

响应:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"code": 0,
"data": {
"keyword": "晴天",
"type": "song",
"total": 100,
"list": [
{
"songmid": "0039MnYb0qxYhV",
"songname": "晴天",
"singer": [{"name": "周杰伦"}],
...
}
]
}
}

获取播放链接

1
curl "https://api.ygking.top/api/song/url?mid=0039MnYb0qxYhV&quality=flac"

响应:

1
2
3
4
5
6
7
{
"code": 0,
"data": {
"0039MnYb0qxYhV": "https://isure.stream.qqmusic.qq.com/xxx"
},
"quality": "flac"
}

常见问题

Q: 凭证多久需要手动更新?

理论上永远不需要。只要 refresh_key 有效,系统会自动刷新 musickey。但如果长时间未使用(超过 90 天),可能需要重新登录获取新凭证。

Q: 免费额度够用吗?

Cloudflare Workers 免费套餐提供:

  • 每天 10 万次请求
  • D1 每天 500 万次读取、10 万次写入

对于个人使用完全足够。

Q: 支持哪些音质?

参数 音质 码率
128 MP3 128kbps
320 MP3 320kbps
flac FLAC 无损

总结

通过 Cloudflare Workers + D1 的组合,我们实现了:

  • 零成本部署 - 完全免费
  • 自动化运维 - 凭证自动刷新
  • 高可用 - 全球 CDN,99.9% 可用性
  • 易于使用 - RESTful API,开箱即用

项目地址:https://github.com/tooplick/qq-music-api


⚠️ 免责声明

本项目仅供学习和个人使用,请勿用于商业用途。使用本项目产生的任何问题由使用者自行承担。