Files
CeruMusic/docs/guide/api.md
2025-08-28 00:34:07 +08:00

4.2 KiB
Raw Blame History

音乐API接口文档

概述

这是一个基于 Meting 库的音乐API接口支持多个音乐平台的数据获取包括歌曲信息、专辑、歌词、播放链接等。

基础信息

  • 请求方式: GET
  • 返回格式: JSON
  • 字符编码: UTF-8
  • 跨域支持: 是

请求参数

参数名 类型 必填 默认值 说明
server string netease 音乐平台
type string search 请求类型
id string hello 查询ID或关键词

支持的音乐平台 (server)

平台代码 平台名称
netease 网易云音乐
tencent QQ音乐
baidu 百度音乐
xiami 虾米音乐
kugou 酷狗音乐
kuwo 酷我音乐

支持的请求类型 (type)

类型 说明 id参数说明
search 搜索歌曲 搜索关键词
song 获取歌曲详情 歌曲ID
album 获取专辑信息 专辑ID
artist 获取歌手信息 歌手ID
playlist 获取歌单信息 歌单ID
lrc 获取歌词 歌曲ID
url 获取播放链接 歌曲ID
pic 获取封面图片 歌曲/专辑/歌手ID

响应格式

成功响应

{
  "success": true,
  "message": {
    // 具体数据内容,根据请求类型不同而不同
  }
}

错误响应

{
  "success": false,
  "message": "错误信息"
}

请求示例

1. 搜索歌曲

GET /?server=netease&type=search&id=周杰伦

响应示例:

{
  "success": true,
  "message": [
    {
      "id": "186016",
      "name": "青花瓷",
      "artist": ["周杰伦"],
      "album": "我很忙",
      "pic_id": "109951163240682406",
      "url_id": "186016",
      "lyric_id": "186016"
    }
  ]
}

2. 获取歌曲详情

GET /?server=netease&type=song&id=186016

3. 获取歌词

GET /?server=netease&type=lrc&id=186016

响应示例:

{
  "success": true,
  "message": {
    "lyric": "[00:00.00] 作词 : 方文山\n[00:01.00] 作曲 : 周杰伦\n[00:22.78]素胚勾勒出青花笔锋浓转淡\n..."
  }
}

4. 获取播放链接

GET /?server=netease&type=url&id=186016

响应示例:

{
  "success": true,
  "message": [
    {
      "id": "186016",
      "url": "http://music.163.com/song/media/outer/url?id=186016.mp3",
      "size": 4729252,
      "br": 128
    }
  ]
}

5. 获取专辑信息

GET /?server=netease&type=album&id=18905

6. 获取歌手信息

GET /?server=netease&type=artist&id=6452

7. 获取歌单信息

GET /?server=netease&type=playlist&id=19723756

8. 获取封面图片

GET /?server=netease&type=pic&id=186016

错误码说明

错误信息 说明
require id. 缺少必需的id参数
unsupported server. 不支持的音乐平台
unsupported type. 不支持的请求类型

注意事项

  1. 代理支持: 如果设置了环境变量 METING_PROXYAPI会使用代理访问音乐平台
  2. Cookie支持: API会自动传递请求中的Cookie到音乐平台
  3. 跨域访问: API已配置CORS支持跨域请求
  4. 请求频率: 建议控制请求频率,避免被音乐平台限制
  5. 数据时效性: 音乐平台的数据可能会发生变化,建议适当缓存但不要过度依赖

使用建议

  1. 错误处理: 请务必检查响应中的 success 字段
  2. 数据验证: 返回的数据结构可能因平台而异,请做好数据验证
  3. 备用方案: 建议支持多个音乐平台作为备用数据源
  4. 缓存策略: 对于不经常变化的数据(如歌词、专辑信息)建议进行缓存

技术实现

本API基于以下技术栈

  • PHP: 后端语言
  • Meting: 音乐数据获取库
  • Composer: 依赖管理

更新日志

  • v1.0.0: 初始版本,支持基础的音乐数据获取功能