This commit is contained in:
binaryify
2018-10-14 22:45:10 +08:00
parent 7aca52e1b8
commit 986a4b0dd5
107 changed files with 1574 additions and 2342 deletions
+141 -55
View File
@@ -95,7 +95,12 @@
77. 热门评论
78. 视频评论
79. 退出登录
80. 所有榜单内容摘要
81. 收藏视频
82. 收藏 MV
83. 视频详情
84. 相关视频
85. 关注用户
## 安装
```shell
@@ -127,7 +132,7 @@ $ set PORT=4000 && node app.js
```javascript
// 例子
const url = `http://localhost:3000/music/url?id=33894312&proxy=http://121.196.226.246:84`
const url = `http://localhost:3000/song/url?id=33894312&proxy=http://121.196.226.246:84`
fetch(url).then(function() {
// do what you want
})
@@ -138,12 +143,7 @@ fetch(url).then(function() {
## Docker 容器运行
> 注意: 在 docker 中运行的时候, 由于使用了 request 来发请求, 所以会检查几个
> proxy 相关的环境变量(如下所列), 这些环境变量 会影响到 request 的代理, 详情请参
> 考[request 的文档](https://github.com/request/request#proxies), 如果这些环境变
> 量 指向的代理不可用, 那么就会造成错误, 所以在使用 docker 的时候一定要注意这些
> 环境变量. 不过, 要是你在 query 中加上了 proxy 参数, 那么环境变量会被覆盖, 就会
> 用你通过 proxy 参数提供的代理了.
> 注意: 在 docker 中运行的时候, 由于使用了 request 来发请求, 所以会检查几个proxy 相关的环境变量(如下所列), 这些环境变量 会影响到 request 的代理, 详情请参考[request 的文档](https://github.com/request/request#proxies), 如果这些环境变量 指向的代理不可用, 那么就会造成错误, 所以在使用 docker 的时候一定要注意这些环境变量. 不过, 要是你在 query 中加上了 proxy 参数, 那么环境变量会被覆盖, 就会用你通过 proxy 参数提供的代理了.
request 相关的环境变量
@@ -173,6 +173,9 @@ $ sudo docker run -d -p 3000:3000 netease-music-api
## 接口文档
### 调用前须知
!> 2018.10.14 更新到3.0.0,使用了模块化机制,因为部分接口参数和url做了调整,如还不想升级到3.0.0,请查看 [v2的文档](http://binaryify.github.io/NeteaseCloudMusicApi/#/v2), [更新日志](/CHANGELOG.MD), [2.0+下载地址](https://github.com/Binaryify/NeteaseCloudMusicApi/releases/tag/v2.20.5), 同时 2.0+ 将不再维护
!> 为使用方便,降低门槛,登录接口直接使用了 get 明文请求,请按实际需求对源码修改
@@ -395,6 +398,20 @@ tags:歌单tag
**调用例子 :** `/user/event?uid=32953014`
### 关注/取消关注用户
说明 : 登陆后调用此接口 , 传入用户 id, 和操作 t,可关注/取消关注用户
**必选参数 :**
`id` : 用户 id
`t` : `1`为关注,其他为取消关注
**接口地址 :** `/follow`
**调用例子 :** `/follow?id=32953014&t=1`
### 获取用户播放记录
说明 : 登陆后调用此接口 , 传入用户 id, 可获取用户播放记录
@@ -457,23 +474,21 @@ category Code 取值:
返回数据如下图:
![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr60g9zps9j31kw1bpk4n.jpg)
### 收藏歌手
### 收藏/取消收藏歌手
说明 : 调用此接口,可收藏歌手
**必选参数 :**
`artistId` : 歌手 id
`t`:操作,1为收藏,其他为取消收藏
说明 : 调用此接口,可收藏歌手
**必选参数 :** `artistId` : 歌手 id
**接口地址 :** `/artist/sub`
**调用例子 :** `/artist/sub?id=6452`
**调用例子 :** `/artist/sub?id=6452&t=1`
### 取消收藏歌手
说明 : 调用此接口,可取消收藏歌手
**必选参数 :** `artistId` : 歌手 id
**接口地址 :** `/artist/unsub`
**调用例子 :** `/artist/unsub?id=6452`
### 收藏的歌手列表
@@ -483,6 +498,35 @@ category Code 取值:
**调用例子 :** `/artist/sublist`
### 收藏视频
说明 : 调用此接口,可收藏视频
**必选参数 :**
`id` : 视频 id
`t` : 1 为收藏,其他为取消收藏
**接口地址 :** `/video/sub`
**调用例子 :** `/video/sub`
### 收藏 MV
说明 : 调用此接口,可收藏 MV
**必选参数 :**
`id` : MV id
`t` : 1 为收藏,其他为取消收藏
**接口地址 :** `/mv/sub`
**调用例子 :** `/mv/sub`
### 歌单分类
说明 : 调用此接口,可获取歌单分类,包含 category 信息
@@ -528,9 +572,11 @@ category Code 取值:
`limit`: 取出歌单数量 , 默认为 20
`before`: 分页参数,取上一页最后一个歌单的 `updateTime` 获取下一页数据
**接口地址 :** `/top/playlist/highquality`
**调用例子 :** `/top/playlist/highquality?limit=30`
**调用例子 :** `http://localhost:3000/top/playlist/highquality?before=1503639064232&limit=3`
### 相关歌单推荐
@@ -571,9 +617,9 @@ category Code 取值:
**可选参数 :** `br`: 码率,默认设置了 999000 即最大码率,如果要 320k 则可设置为 320000,其他类推
**接口地址 :** `/music/url`
**接口地址 :** `/song/url`
**调用例子 :** `/music/url?id=33894312` `/music/url?id=405998841,33894312`
**调用例子 :** `/song/url?id=33894312` `/song/url?id=405998841,33894312`
返回数据如下图 :
![音乐 url](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E9%9F%B3%E4%B9%90%20url.png)
@@ -594,7 +640,7 @@ category Code 取值:
说明 : 调用此接口 , 传入搜索关键词可以搜索该音乐 / 专辑 / 歌手 / 歌单 / 用户 ,
关键词可以多个 , 以空格隔开 , 如 " 周杰伦 搁浅 "( 不需要登录 ), 搜索获取的
mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具体的播放链接
mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具体的播放链接
**必选参数 :** `keywords` : 关键词
@@ -855,7 +901,7 @@ mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具
1. 发送评论
**必选参数**
`action`:1 发送
`t`:1 发送
`tpye`: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型
@@ -872,12 +918,12 @@ mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具
`content` :要发送的内容
**调用例子** : `/comment?action=1&type=1&id=5436712&content=test` (往广岛之恋 mv 发送评论: test)
**调用例子** : `/comment?t=1&type=1&id=5436712&content=test` (往广岛之恋 mv 发送评论: test)
2. 删除评论
**必选参数**
`action`:0 删除
`t`:0 删除
`tpye`: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型
@@ -893,7 +939,7 @@ mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具
`id`:对应资源 id
`content` :内容 id,可通过 `/comment/mv` 等接口获取
**调用例子** : `/comment?action=0&type=1&id=5436712&commentId=1535550516319` (在广岛之恋 mv 删除评论)
**调用例子** : `/comment?t=0&type=1&id=5436712&commentId=1535550516319` (在广岛之恋 mv 删除评论)
### banner
@@ -904,15 +950,36 @@ mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具
**调用例子 :** `/banner`
### 资源点赞( MV,电台,视频)
说明 : 调用此接口 , 可对 MV,电台,视频点赞
**必选参数 :**
`type`:资源类型,对应以下类型
```
1: mv
4: 电台
5: 视频
```
`t`: 操作,1为点赞,其他未取消点赞
`id`: 资源id
**接口地址 :** `/resource/like`
**调用例子 :** `/resource/like?t=1&type=1&id=5436712`
### 获取歌曲详情
说明 : 调用此接口 , 传入音乐 id, 可获得歌曲详情(注意:歌曲封面现在需要通过专辑内容接口获取)
说明 : 调用此接口 , 传入音乐 id(支持多个 id, 用 `,` 隔开), 可获得歌曲详情(注意:歌曲封面现在需要通过专辑内容接口获取)
**必选参数 :** `ids`: 音乐 id, 如 `ids=347230`
**接口地址 :** `/song/detail`
**调用例子 :** `/song/detail?ids=347230`
**调用例子 :** `/song/detail?ids=347230`,`/song/detail?ids=347230,347231`
返回数据如下图 :
![获取歌曲详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/songDetail.png)
@@ -1228,18 +1295,47 @@ mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具
说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应
MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频
网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' 播放 mv/视频' 接口
网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' mv 地址' 接口
**必选参数 :** `mvid`: mv 的 id
**接口地址 :** `/mv`
**接口地址 :** `/mv/detail`
**调用例子 :** `/mv?mvid=5436712`
**调用例子 :** `/mv/detail?mvid=5436712`
返回数据如下图 :
![热门歌手](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/mv.png)
### mv 地址
说明 : 调用此接口 , 传入 mv id,可获取 mv 播放地址
**可选参数 :** `url`: mv id
**接口地址 :** `/mv/url`
**调用例子 :**
`/mv/url?id=5436712`
### 相关视频
说明 : 调用此接口 , 可获取相关视频
**必选参数 :** `id`: 视频 的 id
**接口地址 :** `/related/allvideo`
**调用例子 :** `/related/allvideo?id=89ADDE33C0AAE8EC14B99F6750DB954D`
### 视频详情
说明 : 调用此接口 , 可获取相关视频
**必选参数 :** `id`: 视频 的 id
**接口地址 :** `/video/detail`
**调用例子 :** `/video/detail?id=89ADDE33C0AAE8EC14B99F6750DB954D`
### 获取视频数据
说明 : 调用此接口 , 传入视频的 id ( 在搜索音乐的时候传 type=1014 获得 ) , 可获取对应
@@ -1247,30 +1343,14 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等
**必选参数 :** `id`: 视频 的 id
**接口地址 :** `/video`
**接口地址 :** `/video/url`
**调用例子 :** `/video?id=89ADDE33C0AAE8EC14B99F6750DB954D`
**调用例子 :** `/video/url?id=89ADDE33C0AAE8EC14B99F6750DB954D`
返回数据如下图 :
![视频数据](https://ws1.sinaimg.cn/large/006tNbRwgy1fuqdv10p5rj31kw0da76y.jpg)
### 播放 mv/视频
说明 : 调用此接口 , 传入 mv/视频 地址 , 可播放 mv/视频, 也可将接口嵌入 video 标签使用 , 由
于使用了 'pipe', 进度条无法通过拖动进度条控制进度 , 如有解决方案可提出 PR 或者自
行改造
**可选参数 :** `url`: mv/视频 的 地址
**接口地址 :** `/mv/url`
**调用例子 :**
`/mv/url?url=http://v4.music.126.net/20170422034915/c98eab2f5e2c85fc8de2ab3f0f8ed1c6/web/cloudmusic/MjQ3NDQ3MjUw/89a6a279dc2acfcd068b45ce72b1f560/533e4183a709699d566180ed0cd9abe9.mp4`
如下图 :
![播放视频](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/play_mv.png)
### 排行榜
@@ -1313,9 +1393,15 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等
![排行榜](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_list.png)
### 所有榜单内容摘要
说明 : 调用此接口,可获取所有榜单内容摘要
**接口地址 :** `/toplist/detail`
**调用例子 :** `/toplist/detail`
### 歌手榜
说明 : 调用此接口 , 可获取 PC 版排行榜中的歌手榜
说明 : 调用此接口 , 可获取排行榜中的歌手榜
**接口地址 :** `/toplist/artist`
@@ -1324,7 +1410,7 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等
### 云盘
说明 : 登陆后调用此接口 , 可获取云盘数据 , 获取的数据没有对应 url, 需要再调用一
次 `/music/url` 获取 url
次 `/song/url` 获取 url
**接口地址 :** `/user/cloud`
@@ -1398,8 +1484,8 @@ type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009`
### 电台 - 节目
说明 : 登陆后调用此接口 , 传入`rid`, 可查看对应电台的电台节目以及对应的 id, 需要
注意的是这个接口返回的 mp3Url 已经无效 , 都为 null, 但是通过调用 `/music/url` 这
个接口 , 传入节目 id 仍然能获取到节目音频 , 如 `/music/url?id=478446370` 获取代
注意的是这个接口返回的 mp3Url 已经无效 , 都为 null, 但是通过调用 `/song/url` 这
个接口 , 传入节目 id 仍然能获取到节目音频 , 如 `/song/url?id=478446370` 获取代
码时间的一个节目的音频
**必选参数 :** `rid`: 电台 的 id