README.md 3.8 KB
Newer Older
B
binaryify 已提交
1 2 3
# NeteaseCloudMusicApi

网易云音乐 NodeJS 版 API
B
binaryify 已提交
4

B
binaryify 已提交
5 6

## 版本新特性  
B
binaryify 已提交
7
2017/4/1 升级到 2.0 版本.增加使用文档,完成项目重构,增加更完善的单元测试,版本升级到2.0,升级 api 到 v2+,支持登录并获取用户信息和创建的歌单,可通过获取音乐 url 接口获取用户歌单里的的音乐,获取每日推荐歌单和每日推荐音乐
B
binaryify 已提交
8 9 10

## 安装  
``` shell
11 12
$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git
$ npm install
B
binaryify 已提交
13
```
14
## 运行
B
binaryify 已提交
15
``` shell
16
$ node app.js 
B
binaryify 已提交
17 18 19 20 21
```

服务器启动,默认端口为3000


22
## 接口文档
B
binaryify 已提交
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

### 登录
登录有两个接口
1. 手机登录  
接口地址:`'/login/cellphone'`  
调用例子:  
`'/login/cellphone?phone=xxx&password=yyy'`
2. 邮箱登录  
接口地址:`'/login`  
调用例子:  
`'/login?email=xxx@163.com&password=yyy'`  
返回数据如下图:  
![登录](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%99%BB%E5%BD%95.png)



完成登录后,会在浏览器保存一个 cookie 用作登录凭证, 除了搜索的音乐和歌词,以及获取音乐 url 都需要用到这个 cookie

### 获取用户歌单
说明:登陆后调用此接口,传入用户 id, 可以获取用户歌单  
接口地址:  
`/user/playlist`  
调用例子:  
`/user/playlist?uid=32953014`  
返回数据如下图:  
![用户歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%94%A8%E6%88%B7%E6%AD%8C%E5%8D%95.png)

### 获取歌单详情  
说明:歌单能看到歌单名字,但看不到具体歌单内容,调用此接口,传入歌单 id,可以获取对应歌单内的所有的音乐  
接口地址:  
`playlist/detail`  
调用例子:  
`/playlist/detail?id=24381616`  
返回数据如下图:  
![歌单详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E5%8D%95%E8%AF%A6%E6%83%85.png)

### 获取音乐 url
B
binaryify 已提交
60
说明:使用歌单详情接口后,能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口,传入的音乐 id,可以获取对应的音乐的 url(不需要登录)  
B
binaryify 已提交
61 62 63 64 65 66 67 68
接口地址:  
`playlist/detail`  
调用例子:  
`/playlist/detail?id=24381616`  
返回数据如下图:  
![音乐 url](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E9%9F%B3%E4%B9%90%20url.png)

### 搜索音乐
B
binaryify 已提交
69
说明:调用此接口,传入搜索关键词可以搜索该音乐,关键词可以多个,以空格隔开,如"周杰伦 搁浅"(不需要登录)  
B
binaryify 已提交
70 71 72 73 74 75 76 77
接口地址:  
`/search`  
调用例子:  
`/search?keywords=海阔天空`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%90%9C%E7%B4%A2.png)

### 获取歌词
B
binaryify 已提交
78
说明:调用此接口,传入音乐 id 可获得对应音乐的歌词(不需要登录)  
B
binaryify 已提交
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
接口地址:  
`/lyric`  
调用例子:  
`/lyric?id=347230`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E8%AF%8D.png)

### 获取每日推荐歌单
说明:调用此接口,可获得每日推荐歌单(需要登录)
接口地址:  
`/recommend/resource`  
调用例子:  
`/recommend/resource`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E5%8D%95.png)
94

B
binaryify 已提交
95 96 97 98 99 100 101 102 103
### 获取每日推荐歌曲
说明:调用此接口,可获得每日推荐歌曲(需要登录)
接口地址:  
`/recommend/songs`  
调用例子:  
`/recommend/songs`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png)

B
binaryify 已提交
104
## 离线访问此文档
B
binaryify 已提交
105
此文档同时也是 Progressive Web Apps(PWA), 加入serviceWorker,可离线访问
B
binaryify 已提交
106 107 108

## License
[The MIT License (MIT)](LICENSE)