使用自己的ck去调用某云村官方API进行获取的数据
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| key | string | 是 | 接口调用密钥 | |
| msg | string | 是 | 搜索的歌名(必填,不传或为空时返回错误) | 江南 |
| n | string | 否 | 选第几首(1-based)。不传或为空 => 列表模式;1=第1首,2=第2首,以此类推 | 1 |
| i | string | 否 | 直接指定歌曲hash(传了i则忽略msg/n,直接取链) | |
| br | string | 否 | 音质数字,对应规格如下 | 1 |
| page | string | 否 | 搜索页码,默认1 | 1 |
| limit | string | 否 | 每页数量,默认10 | 10 |
| type | string | 是 | 输出格式。json=完整信息(默认) / text=纯链接文本 / mp3=302跳转到音频 | json |
| lrc | string | 否 | 是否返回歌词。1=返回(默认) / 0=不返回 | 1 |
| ck | string | 否 | 通过获取ck工具获取的全部ck,填写进来 | {"musicid":3121871622,"musickey":"Q_H_L_63k3NW9T3Ubu_DejkXTDE6pstF7vD6clNhyMIUdLPzSo6Klqz5ToykmzU3BmdXRaMJSNVgKzNzNKeHivjYJcgmKVC9npbQ8RqRVw_SxBi6T3cbDqDFcxxfQyznylW3rjwDO_T8HjarJsijy4XexKKlBvH5E-IIQ" |
| string | 是 | 用户名用语于调用储存的ck文件 |
[
{
"name": "key",
"type": "string",
"required": true,
"description": "接口调用密钥",
"example": ""
},
{
"name": "msg",
"type": "string",
"required": true,
"description": "搜索的歌名(必填,不传或为空时返回错误)",
"example": "江南"
},
{
"name": "n",
"type": "string",
"required": false,
"description": "选第几首(1-based)。不传或为空 => 列表模式;1=第1首,2=第2首,以此类推",
"example": "1"
},
{
"name": "i",
"type": "string",
"required": false,
"description": "直接指定歌曲hash(传了i则忽略msg/n,直接取链)",
"example": ""
},
{
"name": "br",
"type": "string",
"required": false,
"description": "音质数字,对应规格如下",
"example": "1"
},
{
"name": "page",
"type": "string",
"required": false,
"description": "搜索页码,默认1",
"example": "1"
},
{
"name": "limit",
"type": "string",
"required": false,
"description": "每页数量,默认10",
"example": "10"
},
{
"name": "type",
"type": "string",
"required": true,
"description": "输出格式。json=完整信息(默认) / text=纯链接文本 / mp3=302跳转到音频",
"example": "json"
},
{
"name": "lrc",
"type": "string",
"required": false,
"description": "是否返回歌词。1=返回(默认) / 0=不返回",
"example": "1"
},
{
"name": "ck",
"type": "string",
"required": false,
"description": "通过获取ck工具获取的全部ck,填写进来",
"example": "{\"musicid\":3121871622,\"musickey\":\"Q_H_L_63k3NW9T3Ubu_DejkXTDE6pstF7vD6clNhyMIUdLPzSo6Klqz5ToykmzU3BmdXRaMJSNVgKzNzNKeHivjYJcgmKVC9npbQ8RqRVw_SxBi6T3cbDqDFcxxfQyznylW3rjwDO_T8HjarJsijy4XexKKlBvH5E-IIQ\""
},
{
"name": "qq",
"type": "string",
"required": true,
"description": "用户名用语于调用储存的ck文件",
"example": ""
}
]
{
"openapi": "3.1.1",
"info": {
"title": "云村点歌",
"description": "使用自己的ck去调用某云村官方API进行获取的数据",
"version": "1.0.0"
},
"paths": {
"/api/yinyue/wyyundg/api.php": {
"get": {
"summary": "云村点歌",
"description": "使用自己的ck去调用某云村官方API进行获取的数据",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "msg",
"in": "query",
"required": true,
"schema": {
"type": "string",
"example": "江南"
},
"description": "搜索的歌名(必填,不传或为空时返回错误)"
},
{
"name": "n",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "选第几首(1-based)。不传或为空 => 列表模式;1=第1首,2=第2首,以此类推"
},
{
"name": "i",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "直接指定歌曲hash(传了i则忽略msg/n,直接取链)"
},
{
"name": "br",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "音质数字,对应规格如下"
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "搜索页码,默认1"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "10"
},
"description": "每页数量,默认10"
},
{
"name": "type",
"in": "query",
"required": true,
"schema": {
"type": "string",
"example": "json"
},
"description": "输出格式。json=完整信息(默认) / text=纯链接文本 / mp3=302跳转到音频"
},
{
"name": "lrc",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "是否返回歌词。1=返回(默认) / 0=不返回"
},
{
"name": "ck",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "{\"musicid\":3121871622,\"musickey\":\"Q_H_L_63k3NW9T3Ubu_DejkXTDE6pstF7vD6clNhyMIUdLPzSo6Klqz5ToykmzU3BmdXRaMJSNVgKzNzNKeHivjYJcgmKVC9npbQ8RqRVw_SxBi6T3cbDqDFcxxfQyznylW3rjwDO_T8HjarJsijy4XexKKlBvH5E-IIQ\""
},
"description": "通过获取ck工具获取的全部ck,填写进来"
},
{
"name": "qq",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "用户名用语于调用储存的ck文件"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
}
},
"post": {
"summary": "云村点歌",
"description": "使用自己的ck去调用某云村官方API进行获取的数据",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "msg",
"in": "query",
"required": true,
"schema": {
"type": "string",
"example": "江南"
},
"description": "搜索的歌名(必填,不传或为空时返回错误)"
},
{
"name": "n",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "选第几首(1-based)。不传或为空 => 列表模式;1=第1首,2=第2首,以此类推"
},
{
"name": "i",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "直接指定歌曲hash(传了i则忽略msg/n,直接取链)"
},
{
"name": "br",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "音质数字,对应规格如下"
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "搜索页码,默认1"
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "10"
},
"description": "每页数量,默认10"
},
{
"name": "type",
"in": "query",
"required": true,
"schema": {
"type": "string",
"example": "json"
},
"description": "输出格式。json=完整信息(默认) / text=纯链接文本 / mp3=302跳转到音频"
},
{
"name": "lrc",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "1"
},
"description": "是否返回歌词。1=返回(默认) / 0=不返回"
},
{
"name": "ck",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "{\"musicid\":3121871622,\"musickey\":\"Q_H_L_63k3NW9T3Ubu_DejkXTDE6pstF7vD6clNhyMIUdLPzSo6Klqz5ToykmzU3BmdXRaMJSNVgKzNzNKeHivjYJcgmKVC9npbQ8RqRVw_SxBi6T3cbDqDFcxxfQyznylW3rjwDO_T8HjarJsijy4XexKKlBvH5E-IIQ\""
},
"description": "通过获取ck工具获取的全部ck,填写进来"
},
{
"name": "qq",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "用户名用语于调用储存的ck文件"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://api.317ak.com",
"description": "当前访问入口(https)"
}
]
}
{
"success": true,
"code": 1,
"songName": "江南",
"artistName": "林俊杰",
"albumName": "第二天堂",
"id": 108914,
"cover": "http://p1.music.126.net/Gk4t93WwafRZtt9nTS77Iw==/109951171891430447.jpg",
"actualQuality": "标准音质",
"actualQualityCode": "standard",
"size": "4.09 MB",
"url": "http://m8.music.126.net/20260718164647/8c0d902ea6816c5d22e4db8fb439cc74/ymusic/9307/5648/2641/811c35a7f7f552989edcaea92871b544.mp3?vuutv=T1D8dbw4d2K1uPD0hZamc5dfrMnEGq7K1ddjwsVVyYKc43svql0O8CZVc69JpVC5fHt0hRQ1k3eTgclqpz931yKwQZgT1kBW3T2aBnqfWyU=",
"lyric": "[00:00.000] 作词 : 林秋离\n[00:01.000] 作曲 : 林俊杰\n[00:02.000] 编曲 : 蔡政勋/陈建玮\n[00:03.000] 制作人 : 许环良\n[00:37.010] 风到这里就是粘\n[00:40.534] 粘住过客的思念\n[00:44.795] 雨到了这里缠成线\n[00:48.546] 缠着我们流连人世间\n[00:53.038] 你在身边就是缘\n[00:56.569] 缘分写在三生石上面\n[01:01.023] 爱有万分之一甜\n[01:04.546] 宁愿我就葬在这一点\n[01:09.062] 圈圈圆圆圈圈\n[01:10.739] 天天年年天天 的我\n[01:13.546] 深深看你的脸\n[01:16.041] 生气的温柔\n[01:17.994] 埋怨的温柔 的脸\n[01:24.058] 不懂爱恨情愁煎熬的我们\n[01:27.737] 都以为相爱就像风云的善变\n[01:32.017] 相信爱一天 抵过永远\n[01:36.279] 在这一刹那冻结了时间\n[01:40.009] 不懂怎么表现温柔的我们\n[01:43.760] 还以为殉情只是古老的传言\n[01:47.751] 离愁能有多痛 痛有多浓\n[01:52.247] 当梦被埋在江南烟雨中\n[01:55.506] 心碎了才懂\n[01:58.921]\n[02:20.982] 圈圈圆圆圈圈\n[02:22.699] 天天年年天天 的我\n[02:25.470] 深深看你的脸\n[02:27.948] 生气的温柔\n[02:29.933] 埋怨的温柔 的脸\n[02:35.984] 不懂爱恨情愁煎熬的我们\n[02:39.697] 都以为相爱就像风云的善变\n[02:43.951] 相信爱一天 抵过永远\n[02:48.195] 在这一刹那冻结了时间\n[02:51.964] 不懂怎么表现温柔的我们\n[02:55.694] 还以为殉情只是古老的传言\n[02:59.698] 离愁能有多痛 痛有多浓\n[03:04.200] 当梦被埋在江南烟雨中\n[03:07.485] 心碎了才懂\n[03:11.231]\n[03:19.925] 相信爱一天 抵过永远\n[03:24.192] 在这一刹那冻结了时间\n[03:27.952] 不懂怎么表现温柔的我们\n[03:31.717] 还以为殉情只是古老的传言\n[03:35.716] 离愁能有多痛 痛有多浓\n[03:40.186] 当梦被埋在江南烟雨中\n[03:45.494] 心碎了才懂\n[04:22.946] 制作助理 : 冯时泽\n[04:23.362] 箫 : 林信有\n[04:23.778] 吉他 : Shah Tahir\n[04:24.194] 低音吉他 : Gary Lao\n[04:24.610] 和声编写 : 许环良\n[04:25.026] 和声 : 林俊杰\n[04:25.442] 录音室 : The Garden(新加坡)\n[04:25.858] 录音师 : 许环良/Acid Pang\n[04:26.274] 混音室 : Blue Moon Studio(加利福尼亚州)\n[04:26.690] 混音师 : Joe Vanelli/Joe Primeau with 许环良\n[04:27.106] OP : 大潮音乐经纪有限公司/Touch Music Publishing Pte Ltd./Compass\n[04:27.522] SP : 大潮音乐经纪有限公司\n"
}
提供歌曲搜索与点播数据获取能力,适用于需要接入音乐查询服务的开发者。
接口支持根据歌曲信息获取对应的歌曲数据与相关内容。
https://api-v2.317ak.com/api/yinyue/wyyundg/api.php
支持请求方式:GET、POST
接口调用需要密钥鉴权。
首选鉴权方式:Query 参数传递。
请求时添加参数:
key=你的接口调用密钥
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 接口调用密钥,需通过 Query 参数传递(key=...)。 |
| msg | string | 是 | 搜索的歌名,不传或为空时返回错误。示例:江南 |
| n | string | 否 | 选择第几首歌曲(从 1 开始)。不传或为空时返回列表模式;如 1 表示第 1 首。 |
| i | string | 否 | 直接指定歌曲 hash。传入后将忽略 msg 和 n,直接获取对应歌曲链接。 |
| br | string | 否 | 音质规格选择参数。示例:1 |
| page | string | 否 | 搜索页码,默认值为 1。示例:1 |
| limit | string | 否 | 每页返回数量,默认值为 10。示例:10 |
| type | string | 是 | 输出格式。json:完整信息;text:纯链接文本;mp3:跳转到音频链接。默认格式为 json。示例:json |
| lrc | string | 否 | 是否返回歌词。1:返回歌词(默认);0:不返回歌词。示例:1 |
| ck | string | 否 | 填写通过获取 ck 工具获取的完整 ck 信息。 |
| string | 是 | 用户名,用于调用已保存的 ck 文件。 |
{
"success": true,
"code": 1,
"songName": "江南",
"artistName": "林俊杰",
"albumName": "第二天堂",
"id": 108914,
"cover": "http://p1.music.126.net/Gk4t93WwafRZtt9nTS77Iw==/109951171891430447.jpg",
"actualQuality": "标准音质",
"actualQualityCode": "standard",
"size": "4.09 MB",
"url": "http://m8.music.126.net/example.mp3",
"lyric": "[00:00.000] 作词: 林秋离\n[00:01.000] 作曲: 林俊杰"
}
| 字段 | 类型 | 说明 |
|---|---|---|
| success | boolean | 请求是否成功 |
| code | integer | 响应状态标识 |
| songName | string | 歌曲名称 |
| artistName | string | 歌手名称 |
| albumName | string | 专辑名称 |
| id | integer | 歌曲 ID |
| cover | string | 歌曲封面地址 |
| actualQuality | string | 实际音质名称 |
| actualQualityCode | string | 实际音质标识 |
| size | string | 音频文件大小 |
| url | string | 音频播放地址 |
| lyric | string | 歌词内容,按时间轴格式返回 |
{
"code": 0,
"msg": "未提供调用密钥",
"errcode": 11001
}
| errcode | 含义 |
|---|---|
| 11001 | 未提供调用密钥 |
| 11002 | 密钥错误 |
| 11003 | 密钥已禁用 |
| 11004 | 积分余额不足 |
| 11005 | 请求过于频繁(QPM 限制) |
| 11006 | 接口维护中 |
| 11007 | 接口已禁用 |
| 11008 | 接口不可用 |
| 11009 | 密钥校验暂不可用 |
| 11010 | 积分系统暂不可用 |
| 11011 | 收费接口须提供有效密钥 |
| 11012 | 鉴权方式错误 |
| 11013 | 接口不存在 |
| 11014 | 请求地址无效 |
| 11015 | 请求地址不允许 |
| 11016 | 请求失败 |
| 11017 | 服务暂不可用 |
| 11018 | 请求方式不允许 |
| 11019 | 当前IP不在白名单内 |
| 11020 | 启用出口转发服务须提供有效密钥 |
| 11021 | 未配置可用出口转发服务 |
| 11022 | 出口转发服务不可用 |
| 11023 | 密钥已过期 |
| 11024 | 令牌分配积分不足 |
curl -G "https://api-v2.317ak.com/api/yinyue/wyyundg/api.php" \
--data-urlencode "key=你的接口密钥" \
--data-urlencode "msg=江南" \
--data-urlencode "type=json" \
--data-urlencode "n=1"
// PHP
## 注意事项
- 请妥善保管接口调用密钥 `key`,避免泄露、公开发布或提交到不安全环境中。密钥泄露可能导致接口被他人调用。
- 不建议在网页前端直接暴露 `key` 参数,前端代码、公开仓库、客户端日志中均应避免出现完整密钥。
- 本接口仅支持通过 Query 参数 `key` 进行鉴权,请按照接口要求传递有效密钥。
- 请求接口时建议使用 HTTPS 访问调用地址,保障请求数据传输安全。
- `msg` 为必填搜索参数,不传或传空值时接口会返回错误。进行歌曲搜索时,请确保传入有效歌曲名称。
- `n` 用于指定搜索结果中的歌曲序号,采用从 1 开始的编号方式;不传或为空时返回搜索列表。
- 传入 `i` 参数时会直接根据歌曲 hash 获取结果,此时将忽略 `msg` 与 `n` 参数,请确保 `i` 参数来源有效。
- `type` 为必填输出格式参数,请根据业务需求选择合适格式:
- `json`:返回完整歌曲信息;
- `text`:返回纯链接文本;
- `mp3`:返回音频跳转地址。
- `page` 与 `limit` 用于控制搜索列表分页,未传入时分别使用默认页码与默认数量。
- `lrc` 控制歌词返回内容,设置为 `1` 时返回歌词,设置为 `0` 时不返回歌词;如无歌词需求,建议关闭以减少返回数据量。
- `br` 用于选择音质规格,请根据实际需求传入对应值。
- `ck` 参数用于提供歌曲相关凭据内容,请注意格式完整性,避免因内容缺失、转义错误导致请求失败。
- `qq` 用于调用对应用户保存的数据,请确保传入正确的用户名信息。
- 请合理控制请求频率,避免短时间内大量重复请求影响接口正常使用。
- 接口返回的音频链接、歌词等内容请遵守相关平台规则及版权要求,仅用于合法用途。curl "https://api-v2.317ak.com/api/yinyue/wyyundg/api.php?key=YOUR_API_KEY&msg=江南&n=1&type=json&lrc=1&qq=test"