mirror of
https://gitlab.com/Binaryify/neteasecloudmusicapi.git
synced 2025-07-04 08:22:09 +08:00
新增获取视频数据接口,完善文档 #301
This commit is contained in:
parent
4fa3f7b53b
commit
e0dd7a0836
@ -1,4 +1,7 @@
|
|||||||
# 更新日志
|
# 更新日志
|
||||||
|
### 2.18.0 | 2018.08.29
|
||||||
|
新增获取视频数据接口,完善文档 #301,感谢 @izhenyuls
|
||||||
|
|
||||||
### 2.17.0 | 2018.08.28
|
### 2.17.0 | 2018.08.28
|
||||||
新增登录状态查询接口 #302 ,完善文档,完善路由注册 #297
|
新增登录状态查询接口 #302 ,完善文档,完善路由注册 #297
|
||||||
|
|
||||||
|
@ -92,6 +92,9 @@
|
|||||||
70. 订阅的电台列表
|
70. 订阅的电台列表
|
||||||
71. 相关歌单推荐
|
71. 相关歌单推荐
|
||||||
72. 付费精选接口
|
72. 付费精选接口
|
||||||
|
73. 音乐是否可用检查接口
|
||||||
|
74. 登录状态
|
||||||
|
75. 获取视频数据
|
||||||
|
|
||||||
## 环境要求
|
## 环境要求
|
||||||
|
|
||||||
|
@ -15,6 +15,9 @@
|
|||||||
跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API
|
跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API
|
||||||
|
|
||||||
## 版本新特性
|
## 版本新特性
|
||||||
|
### 2.18.0 | 2018.08.29
|
||||||
|
新增获取视频数据接口
|
||||||
|
|
||||||
### 2.17.0 | 2018.08.28
|
### 2.17.0 | 2018.08.28
|
||||||
新增登录状态查询接口
|
新增登录状态查询接口
|
||||||
|
|
||||||
@ -112,7 +115,7 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评
|
|||||||
48. 独家放送
|
48. 独家放送
|
||||||
49. mv 排行
|
49. mv 排行
|
||||||
50. 获取 mv 数据
|
50. 获取 mv 数据
|
||||||
51. 播放 mv
|
51. 播放 mv/视频
|
||||||
52. 排行榜
|
52. 排行榜
|
||||||
53. 歌手榜
|
53. 歌手榜
|
||||||
54. 云盘
|
54. 云盘
|
||||||
@ -136,7 +139,7 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评
|
|||||||
72. 付费精选接口
|
72. 付费精选接口
|
||||||
73. 音乐是否可用检查接口
|
73. 音乐是否可用检查接口
|
||||||
74. 登录状态
|
74. 登录状态
|
||||||
|
75. 获取视频数据
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
@ -624,8 +627,8 @@ mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具
|
|||||||
**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如
|
**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如
|
||||||
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
|
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
|
||||||
|
|
||||||
`type`: 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲 10: 专辑 100: 歌手 1000:
|
`type`: 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲, 10: 专辑, 100: 歌手, 1000:
|
||||||
歌单 1002: 用户 1004: MV 1006: 歌词 1009: 电台
|
歌单, 1002: 用户, 1004: MV, 1006: 歌词, 1009: 电台, 1014: 视频
|
||||||
|
|
||||||
**接口地址 :** `/search`
|
**接口地址 :** `/search`
|
||||||
|
|
||||||
@ -1164,7 +1167,7 @@ mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具
|
|||||||
|
|
||||||
说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应
|
说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应
|
||||||
MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频
|
MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频
|
||||||
网易做了防盗链处理 , 不能直接播放 , 需要播放的话需要调用 ' 播放 mv' 接口
|
网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' 播放 mv/视频' 接口
|
||||||
|
|
||||||
**必选参数 :** `mvid`: mv 的 id
|
**必选参数 :** `mvid`: mv 的 id
|
||||||
|
|
||||||
@ -1176,13 +1179,28 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 播放 mv
|
### 获取视频数据
|
||||||
|
|
||||||
说明 : 调用此接口 , 传入 mv 地址 , 可播放 mv, 也可将接口嵌入 video 标签使用 , 由
|
说明 : 调用此接口 , 传入视频的 id ( 在搜索音乐的时候传 type=1014 获得 ) , 可获取对应
|
||||||
|
视频数据,其中视频网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' 播放 mv/视频' 接口
|
||||||
|
|
||||||
|
**必选参数 :** ` id`: 视频 的 id
|
||||||
|
|
||||||
|
**接口地址 :** `/video`
|
||||||
|
|
||||||
|
**调用例子 :** `/video?id=89ADDE33C0AAE8EC14B99F6750DB954D`
|
||||||
|
|
||||||
|
返回数据如下图 :
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 播放 mv/视频
|
||||||
|
|
||||||
|
说明 : 调用此接口 , 传入 mv/视频 地址 , 可播放 mv/视频, 也可将接口嵌入 video 标签使用 , 由
|
||||||
于使用了 'pipe', 进度条无法通过拖动进度条控制进度 , 如有解决方案可提出 PR 或者自
|
于使用了 'pipe', 进度条无法通过拖动进度条控制进度 , 如有解决方案可提出 PR 或者自
|
||||||
行改造
|
行改造
|
||||||
|
|
||||||
**可选参数 :** `url`: mv 的 地址
|
**可选参数 :** `url`: mv/视频 的 地址
|
||||||
|
|
||||||
**接口地址 :** `/mv/url`
|
**接口地址 :** `/mv/url`
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "NeteaseCloudMusicApi",
|
"name": "NeteaseCloudMusicApi",
|
||||||
"version": "2.17.0",
|
"version": "2.18.0",
|
||||||
"description": "网易云音乐 NodeJS 版 API",
|
"description": "网易云音乐 NodeJS 版 API",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node app.js",
|
"start": "node app.js",
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
// 搜索
|
// 搜索
|
||||||
module.exports = (req, res, createWebAPIRequest, request) => {
|
module.exports = (req, res, createWebAPIRequest, request) => {
|
||||||
const cookie = req.get("Cookie") ? req.get("Cookie") : "";
|
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||||
const keywords = req.query.keywords;
|
const keywords = req.query.keywords
|
||||||
const type = req.query.type || 1;
|
const type = req.query.type || 1
|
||||||
const limit = req.query.limit || 30;
|
const limit = req.query.limit || 30
|
||||||
const offset = req.query.offset || 0;
|
const offset = req.query.offset || 0
|
||||||
// *(type)* 搜索单曲(1),歌手(100),专辑(10),歌单(1000),用户(1002)
|
// *(type)* 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲, 10: 专辑, 100: 歌手, 1000: 歌单, 1002: 用户, 1004: MV, 1006: 歌词, 1009: 电台, 1014: 视频
|
||||||
const data = {
|
const data = {
|
||||||
csrf_token: "",
|
csrf_token: '',
|
||||||
limit,
|
limit,
|
||||||
type,
|
type,
|
||||||
s: keywords,
|
s: keywords,
|
||||||
offset
|
offset
|
||||||
};
|
}
|
||||||
|
|
||||||
createWebAPIRequest(
|
createWebAPIRequest(
|
||||||
"music.163.com",
|
'music.163.com',
|
||||||
"/weapi/search/get",
|
'/weapi/search/get',
|
||||||
"POST",
|
'POST',
|
||||||
data,
|
data,
|
||||||
cookie,
|
cookie,
|
||||||
music_req => res.send(music_req),
|
music_req => res.send(music_req),
|
||||||
err => res.status(502).send("fetch error")
|
err => res.status(502).send('fetch error')
|
||||||
);
|
)
|
||||||
};
|
}
|
||||||
|
18
router/video.js
Normal file
18
router/video.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
//video
|
||||||
|
module.exports = (req, res, createWebAPIRequest, request) => {
|
||||||
|
const cookie = req.get('Cookie') ? req.get('Cookie') : ''
|
||||||
|
const videoId = req.query.id
|
||||||
|
const data = {}
|
||||||
|
|
||||||
|
createWebAPIRequest(
|
||||||
|
'music.163.com',
|
||||||
|
`/api/cloudvideo/playurl?ids=['${videoId}']&resolution=720`,
|
||||||
|
'POST',
|
||||||
|
data,
|
||||||
|
cookie,
|
||||||
|
music_req => {
|
||||||
|
res.send(music_req)
|
||||||
|
},
|
||||||
|
err => res.status(502).send('fetch error')
|
||||||
|
)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user