SonicWave API

接口文档 · 开发指南

返回驾驶舱

NetEase Cloud Music API

API版本控制

该API支持版本控制,所有接口均支持以下两种访问方式:

  • /endpoint - 兼容模式,保持向后兼容性
  • /v1/endpoint - 版本化访问(推荐)

建议使用版本化访问方式,以便在API更新时能够平稳过渡。

错误响应格式

所有API错误均返回统一的JSON格式:

{
  "success": false,
  "code": 400,
  "message": "错误信息",
  "timestamp": 1678956789012
}

在开发环境中,错误响应还会包含更详细的错误信息:

{
  "success": false,
  "code": 500,
  "message": "服务器内部错误",
  "timestamp": 1678956789012,
  "error": "详细错误信息",
  "stack": ["错误堆栈信息"]
}

常见错误码:

  • 400 - 请求参数错误
  • 401 - 未授权访问
  • 403 - 禁止访问
  • 404 - 资源不存在
  • 500 - 服务器内部错误
  • 502 - 网关错误 (可能是网易云API返回了错误)

已实现的API接口列表

接口名称 请求方法 接口路径 描述
状态查询 GET /v1/status 检查API服务运行状态
搜索音乐 GET /v1/search?keywords=周杰伦&type=1 搜索歌曲、歌手、专辑等
备用搜索 GET /v1/cloudsearch?keywords=周杰伦&type=1 使用云搜索API
获取歌曲详情 GET /v1/song/detail?ids=[1407551413] 获取歌曲的详细信息
获取歌曲直链 GET /v1/song/url?id=1407551413 获取歌曲的播放地址
获取歌词 GET /v1/lyric?id=1407551413 获取歌曲的歌词(含翻译)
简化歌词 GET /v1/lyric/simple?id=1407551413 获取歌曲的简化歌词
获取MV地址 GET /v1/mv/url?id=10929018 获取MV的播放地址
获取MV详情 GET /v1/mv/detail?id=10929018 获取MV的详细信息
获取歌单详情 GET /v1/playlist/detail?id=2245320436 获取歌单的详细信息
获取用户歌单 GET /v1/user/playlist?uid=32953014 获取用户创建的歌单列表
获取评论 GET /v1/comment/song/1407551413 获取歌曲、专辑、歌单等的评论
获取热搜关键词 GET /v1/hot/search 获取热门搜索关键词
测试接口 GET /v1/test 测试API连接状态

API 详细说明

搜索音乐

  • GET /v1/search?keywords=周杰伦&type=1&offset=0&limit=30

  • GET /v1/search?s=周杰伦&type=1&offset=0&limit=30

注意: 系统会自动将 keywords 参数转换为WYY API 所需的 s 参数

参数说明:

  • keywords/s: 搜索关键词
  • type: 搜索类型,1(单曲)、100(歌手)、10(专辑)、1000(歌单)、1002(用户)
  • offset: 偏移量
  • limit: 返回结果数量
  • total: 是否返回总数信息 (true/false)

备用搜索接口

  • GET /v1/cloudsearch?keywords=周杰伦&type=1

获取歌单详情

  • GET /v1/playlist/detail?id=2245320436

参数说明:

获取用户歌单

  • GET /v1/user/playlist?uid=32953014

参数说明:

  • uid: 用户ID
  • limit: 返回数量,默认30
  • offset: 偏移数量,用于分页

获取歌曲详情

  • GET /v1/song/detail?ids=[1407551413]

  • GET /v1/song/detail?id=1407551413

注意: 系统会自动将单个 id 参数转换为WYY API 所需的 ids 数组格式

获取歌曲直链

  • GET /v1/song/url?id=1407551413

获取歌词

  • GET /v1/lyric?id=1407551413

简化版本 (不包含翻译):

  • GET /v1/lyric/simple?id=1407551413

获取MV播放地址

  • GET /v1/mv/url?id=10929018

参数说明:

  • id: MV的ID,可以从歌曲详情中的mvid字段获取

返回示例:

{
  "code": 200,
  "data": {
    "id": 10929018,
    "url": "/mv/play/10929018",
    "r": 1080,
    "size": 104164612,
    "md5": "",
    "code": 200,
    "expi": 1200,
    "fee": 0,
    "mvid": 10929018,
    "st": 0
  }
}

获取MV详情

  • GET /v1/mv/detail?id=10929018

参数说明:

  • id: MV的ID

返回MV的详细信息,包括标题、艺术家、发布时间、描述、封面图等。

获取评论

  • GET /v1/comment/song/1407551413?offset=0&limit=15

评论类型:

  • song: 歌曲
  • album: 专辑
  • playlist: 歌单
  • mv: MV

常见问题与解决方案

参数错误

如果遇到错误码400,可能是以下原因:

  • 搜索时使用了错误的参数名称,网易云API需要使用's'而非'keywords'
  • 请求格式不正确
  • 缺少必要参数

解决方法:

  • 使用正确的参数名(本API已自动处理转换)
  • 检查请求参数格式

请求被拒绝或超时

可能原因:

  • 网络连接问题
  • API接口变更
  • IP被限制

解决方案:

  • 检查网络连接
  • 减少请求频率
  • 使用代理服务器

注意事项

  1. API 接口有缓存机制,短时间内重复请求会返回相同结果
  2. 仅供学习和个人使用,请勿用于商业用途

数据大屏

本项目提供了一个可视化的数据大屏,可通过访问根URL(/)获取:

  1. API调用统计:显示不同API端点的调用次数和比例
  2. 热门API排行:展示调用频次最多的API端点
  3. 总体使用情况:显示API总请求量、接口数量等
  4. 系统状态:服务器启动时间、系统连接状态等