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

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

B
binaryify 已提交
5
## 灵感来自
B
improve  
binaryify 已提交
6

B
binaryify 已提交
7 8 9 10
[disoul/electron-cloud-music](https://github.com/disoul/electron-cloud-music)

[darknessomi/musicbox](https://github.com/darknessomi/musicbox)

11
[sqaiyan/netmusic-node](https://github.com/sqaiyan/netmusic-node)
B
binaryify 已提交
12

B
binaryify 已提交
13
## 工作原理
B
improve  
binaryify 已提交
14 15

跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API
B
binaryify 已提交
16

B
improve  
binaryify 已提交
17
## 版本新特性
B
improve  
binaryify 已提交
18

19 20
### 2.9.6 | 2018.05.08
新增发送私信相关接口,新增新建歌单,收藏/取消收藏歌单接口
B
binaryify 已提交
21

22 23
### 2.9.4 | 2018.05.04
新增热搜接口,更新 banner 接口
B
binaryify 已提交
24

25 26 27 28
### 2.9.0 | 2018.01.26

docker 构建文件的一些增强以及增加访问日志和调试输出

29
### 2.8.9 | 2018.01.24
B
improve  
binaryify 已提交
30

31
修复歌单详情数据不完整的问题,更新依赖
B
improve  
binaryify 已提交
32

33
### 2.8.2 | 2018.01.05
B
improve  
binaryify 已提交
34 35

增加 Dockerfile,支持以 Docker 容器模式运行
孟政元 已提交
36

37
### 2.8.1 | 2018.01.04
B
improve  
binaryify 已提交
38 39

添加了 proxy 功能
孟政元 已提交
40

B
improve  
binaryify 已提交
41
### 2.8.0 | 2018.01.04
B
improve  
binaryify 已提交
42

B
improve  
binaryify 已提交
43 44
用 'request' 重写了请求函数

B
binaryify 已提交
45
### 2.6.5 | 2017.7.16
B
improve  
binaryify 已提交
46

B
binaryify 已提交
47 48 49
优化 CORS 设置

### 2.6.4 | 2017.7.16
B
improve  
binaryify 已提交
50

N
nujhong 已提交
51
添加缓存机制和随机 UA 机制 感谢[@u3u](https://github.com/u3u)
B
improve  
binaryify 已提交
52 53
[issue:77](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/77) 优化请求
代码 感谢 [@huhuime](https://github.com/huhuime)
B
binaryify 已提交
54 55
[issue:83](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/83)

56
### 2.5.0 | 2017.4.29
B
improve  
binaryify 已提交
57 58 59 60

增加 mv/ 专辑 / 歌单评论接口 , 增加云盘相关接口 , 增加获取用户动态 / 信息接口 ,
增加关注 / 粉丝列表接口 , 增加收藏歌单接口 , 增加相似 mv/ 歌曲 / 用户接口 , 增加
banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评论接口 , 更新文档
61

62
## 功能特性
B
improve  
binaryify 已提交
63

64
1. 登录
65
2. 刷新登录
B
improve  
binaryify 已提交
66
3. 获取用户信息 , 歌单,收藏,mv, dj 数量
67 68 69 70 71 72 73 74
4. 获取用户歌单
5. 获取用户电台
6. 获取用户关注列表
7. 获取用户粉丝列表
8. 获取用户动态
9. 获取用户播放记录
10. 获取精品歌单
11. 获取歌单详情
B
binaryify 已提交
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
12. 搜索
13. 搜索建议
14. 获取歌词
15. 歌曲评论
16. 收藏单曲到歌单
17. 专辑评论
18. 歌单评论
19. mv 评论
20. 电台节目评论
21. banner
22. 获取歌曲详情
23. 获取专辑内容
24. 获取歌手单曲
25. 获取歌手 mv
26. 获取歌手专辑
27. 获取歌手描述
28. 获取相似歌手
29. 获取相似歌单
30. 相似 mv
31. 获取相似音乐
B
improve  
binaryify 已提交
95
32. 获取最近 5 个听了这首歌的用户
B
binaryify 已提交
96 97 98 99 100 101
33. 获取每日推荐歌单
34. 获取每日推荐歌曲
35. 私人 FM
36. 签到
37. 喜欢音乐
38. 垃圾桶
B
improve  
binaryify 已提交
102
39. 歌单 ( 网友精选碟 )
B
binaryify 已提交
103 104 105 106 107 108 109 110 111 112 113 114 115
40. 新碟上架
41. 热门歌手
42. 最新 mv
43. 推荐 mv
44. 推荐歌单
45. 推荐新音乐
46. 推荐电台
47. 推荐节目
48. 独家放送
49. mv 排行
50. 获取 mv 数据
51. 播放 mv
52. 排行榜
H
hzw758 已提交
116 117
53. 歌手榜
54. 云盘
B
improve  
binaryify 已提交
118 119 120 121 122 123
55. 电台 - 推荐
56. 电台 - 分类
57. 电台 - 分类推荐
58. 电台 - 订阅
59. 电台 - 详情
60. 电台 - 节目
H
hzw758 已提交
124 125
61. 给评论点赞
62. 获取动态
B
binaryify 已提交
126
63. 获取热搜
B
binaryify 已提交
127 128
64. 发送私信
65. 发送私信歌单
129 130
66. 新建歌单
67. 收藏/取消收藏歌单
B
binaryify 已提交
131

B
improve  
binaryify 已提交
132
## 安装
B
improve  
binaryify 已提交
133 134

```shell
135 136
$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git
$ npm install
B
binaryify 已提交
137
```
B
improve  
binaryify 已提交
138

139
## 运行
B
improve  
binaryify 已提交
140 141

```shell
N
nujhong 已提交
142
$ node app.js
B
binaryify 已提交
143 144
```

B
improve  
binaryify 已提交
145 146
服务器启动默认端口为 3000, 若不想使用 3000 端口 , 可使用以下命令 : Mac/Linux

B
binaryify 已提交
147 148 149 150
```shell
$ PORT=4000 node app.js
```

B
improve  
binaryify 已提交
151 152
windows 下使用 git-bash 或者 cmder 等终端执行以下命令 :

B
binaryify 已提交
153 154 155
```shell
$ set PORT=4000 && node app.js
```
B
binaryify 已提交
156

157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
## 可以使用代理

在 query 参数中加上 proxy=your-proxy 即可让这一次的请求使用 proxy

```javascript
// 例子
const url = `http://localhost:3000/music/url?id=33894312&proxy=http://121.196.226.246:84`
fetch(url).then(function() {
  // do what you want
})

// 结果
// {"data":[{"id":33894312,"url":"http://m10.music.126.net/20180104125640/930a968b3fb04908b733506b3833e60b/ymusic/0fd6/4f65/43ed/a8772889f38dfcb91c04da915b301617.mp3","br":320000,"size":10691439,"md5":"a8772889f38dfcb91c04da915b301617","code":200,"expi":1200,"type":"mp3","gain":-2.0E-4,"fee":0,"uf":null,"payed":0,"flag":0,"canExtend":false}],"code": 200}
```

B
improve  
binaryify 已提交
172 173
## Docker 容器运行

174 175 176 177 178 179 180 181 182
> 注意: 在 docker 中运行的时候, 由于使用了 request 来发请求, 所以会检查几个
> proxy 相关的环境变量(如下所列), 这些环境变量 会影响到 request 的代理, 详情请参
> 考[request 的文档](https://github.com/request/request#proxies), 如果这些环境变
> 量 指向的代理不可用, 那么就会造成错误, 所以在使用 docker 的时候一定要注意这些
> 环境变量. 不过, 要是你在 query 中加上了 proxy 参数, 那么环境变量会被覆盖, 就会
> 用你通过 proxy 参数提供的代理了.

request 相关的环境变量

183 184 185 186 187 188 189
1. http_proxy
2. https_proxy
3. HTTP_PROXY
4. HTTPS_PROXY
5. no_proxy
6. NO_PROXY

190
```shell
191
docker pull twesix/netease-cloud-music
192 193 194
docker run -d -p 3000:3000 --name netease-cloud-music twesix/netease-music-api

// 去掉或者设置相关的环境变量
195
docker run -d -p 3000:3000 --name netease-cloud-music -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= netease-cloud-music
196
```
B
binaryify 已提交
197

198
## 接口文档
B
improve  
binaryify 已提交
199

B
binaryify 已提交
200
### 调用前须知
B
improve  
binaryify 已提交
201

B
binaryify 已提交
202
!> 为使用方便,降低门槛,登录接口直接使用了 get 明文请求,请按实际需求对源码修改
B
binaryify 已提交
203

B
binaryify 已提交
204
!> 由于接口做了缓存处理 ( 缓存 2 分钟 , 可在 app.js 设置 , 可能会导致登陆后获取不
B
improve  
binaryify 已提交
205 206 207 208
  到 cookie), 相同的 url 会在两分钟内只向网易服务器发一次请求 , 如果遇到不需要缓
  存结果的接口 , 可在请求 url 后面加一个时间戳参数使 url 不同 , 例子 :
  `/simi/playlist?id=347230&timestamp=1503019930000`

B
binaryify 已提交
209 210
!> 如果是跨域请求 , 请在所有请求带上 `xhrFields: { withCredentials: true }` 否则
  可能会因为没带上 cookie 导致 301, 具体例子可看 `public/test.html`, 例子使用 jquery, axios 版本也类似
B
improve  
binaryify 已提交
211

B
binaryify 已提交
212
!> 301 错误基本都是没登录就调用了需要登录的接口,如果登陆了还是提示 301, 基本都是缓存把数据缓存起来了,解决方法是等待 2 分钟或者重启服务重新登录后再调用接口
B
binaryify 已提交
213

B
binaryify 已提交
214
!> 部分接口如登录接口不能调用太频繁 , 否则可能会触发 503 错误或者 ip 高频错误 ,若需频繁调用 , 需要准备 IP 代理池 (更新:已加入缓存机制,但仍需注意).
B
improve  
binaryify 已提交
215

B
binaryify 已提交
216
!> 本项目仅供学习使用 , 文档可能会有缓存 , 如果文档版本和 github 上的版本不一致,请清除缓存再查看
B
improve  
binaryify 已提交
217

B
binaryify 已提交
218
!> 由于网易限制,此项目在国外服务器上使用会受到限制,如需解决 , 可使用大陆服务器或者使用代理 , 感谢 [@hiyangguo](https://github.com/hiyangguo)提出的[解决方法](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/29#issuecomment-298358438):
B
improve  
binaryify 已提交
219 220
  在 'util.js' 的 'headers' 处增加 `X-Real-IP':'211.161.244.70' // 任意国内 IP`
  即可解决
B
binaryify 已提交
221 222

### 登录
B
improve  
binaryify 已提交
223 224 225

说明 : 登录有两个接口

B
improve  
binaryify 已提交
226
#### 1. 手机登录
227

B
improve  
binaryify 已提交
228
**必选参数 :** `phone`: 手机号码 `password`: 密码
229

B
improve  
binaryify 已提交
230
**接口地址 :** `/login/cellphone`
231

B
improve  
binaryify 已提交
232
**调用例子 :** `/login/cellphone?phone=xxx&password=yyy`
233

B
improve  
binaryify 已提交
234
#### 2. 邮箱登录
B
binaryify 已提交
235

B
improve  
binaryify 已提交
236
> 注意 : 此接口被网易和谐了 , 待修复 , 暂时使用手机登录 (2017.05.20)
237

B
improve  
binaryify 已提交
238
**必选参数 :** `email`: 163 网易邮箱 `password`: 密码
239

B
improve  
binaryify 已提交
240
**接口地址 :** `/login`
241

B
improve  
binaryify 已提交
242
**调用例子 :** `/login?email=xxx@163.com&password=yyy`
B
binaryify 已提交
243

B
improve  
binaryify 已提交
244 245
返回数据如下图 :
![登录](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%99%BB%E5%BD%95.png)
B
binaryify 已提交
246

B
improve  
binaryify 已提交
247 248
完成登录后 , 会在浏览器保存一个 Cookies 用作登录凭证 , 大部分 API 都需要用到这个
Cookies
B
binaryify 已提交
249

B
binaryify 已提交
250
#### 注意
B
improve  
binaryify 已提交
251 252

调用登录接口的速度比调用其他接口慢 , 因为登录过程调用了加密算法
B
binaryify 已提交
253

254
### 刷新登录
N
nujhong 已提交
255

B
improve  
binaryify 已提交
256 257 258
说明 : 调用此接口 , 可刷新登录状态

**调用例子 :** `/login/refresh`
259

B
binaryify 已提交
260 261
### 获取用户详情

B
improve  
binaryify 已提交
262
说明 : 登陆后调用此接口 , 传入用户 id, 可以获取用户详情
B
binaryify 已提交
263

B
improve  
binaryify 已提交
264
**必选参数 :** `uid` : 用户 id
B
binaryify 已提交
265

B
improve  
binaryify 已提交
266
**接口地址 :** `/user/detail`
B
binaryify 已提交
267

B
improve  
binaryify 已提交
268
**调用例子 :** `/user/detail?uid=32953014`
B
binaryify 已提交
269

B
improve  
binaryify 已提交
270
### 获取用户信息 , 歌单,收藏,mv, dj 数量
271

B
improve  
binaryify 已提交
272
说明 : 登陆后调用此接口 , 可以获取用户信息
273

B
improve  
binaryify 已提交
274
**接口地址 :** `/user/subcount`
275

B
improve  
binaryify 已提交
276
**调用例子 :** `/user/subcount`
277

B
binaryify 已提交
278
### 获取用户歌单
279

B
improve  
binaryify 已提交
280
说明 : 登陆后调用此接口 , 传入用户 id, 可以获取用户歌单
281

B
improve  
binaryify 已提交
282
**必选参数 :** `uid` : 用户 id
283

B
improve  
binaryify 已提交
284
**接口地址 :** `/user/playlist`
285

B
improve  
binaryify 已提交
286 287 288
**调用例子 :** `/user/playlist?uid=32953014`

返回数据如下图 :
B
binaryify 已提交
289 290
![用户歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%94%A8%E6%88%B7%E6%AD%8C%E5%8D%95.png)

B
binaryify 已提交
291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
### 发送私信

说明 : 登陆后调用此接口 , 传入用户 id 和要发送的信息, 可以发送私信,返回内容为历史私信,包含带歌单的私信信息(注:不能发送私信给自己)

**必选参数 :**

`user_ids` : 用户 id,多个需用逗号隔开

`msg` : 要发送的信息


**接口地址 :** `/send/text`

**调用例子 :** `/send/text?user_ids=32953014&msg=test`,`/send/text?user_ids=32953014,475625142&msg=test`
返回数据如下图:
![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3p3hfeudj31kw1aek2e.jpg)

### 发送私信(带歌单)

说明 : 登陆后调用此接口 , 传入用户 id 和要发送的信息和歌单 id, 可以发送带歌单的私信(注:不能发送重复的歌单)

**必选参数 :**

`user_ids` : 用户 id,多个需用逗号隔开

`msg` : 要发送的信息


**接口地址 :** `/send/playlist`

**调用例子 :** `/send/playlist?msg=test&user_ids=475625142&playlist=705123491`,`/send/playlist?msg=test2&user_ids=475625142,32953014&playlist=705123493`
返回数据如下图:
![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3p1z7qmcj30v409adg5.jpg)

325 326
### 获取用户电台

B
improve  
binaryify 已提交
327 328 329
说明 : 登陆后调用此接口 , 传入用户 id, 可以获取用户电台

**必选参数 :** `uid` : 用户 id
330

B
improve  
binaryify 已提交
331
**接口地址 :** `/user/dj`
332

B
improve  
binaryify 已提交
333
**调用例子 :** `/user/dj?uid=32953014`
334

B
improve  
binaryify 已提交
335
### 获取用户关注列表
336

B
improve  
binaryify 已提交
337 338 339
说明 : 登陆后调用此接口 , 传入用户 id, 可以获取用户关注列表

**必选参数 :** `uid` : 用户 id
N
nujhong 已提交
340

B
improve  
binaryify 已提交
341 342
**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
343

B
improve  
binaryify 已提交
344
**接口地址 :** `/user/follows`
345

B
improve  
binaryify 已提交
346
**调用例子 :** `/user/follows?uid=32953014`
347

B
improve  
binaryify 已提交
348
### 获取用户粉丝列表
349

B
improve  
binaryify 已提交
350
说明 : 登陆后调用此接口 , 传入用户 id, 可以获取用户粉丝列表
351

B
improve  
binaryify 已提交
352
**必选参数 :** `uid` : 用户 id
353

B
improve  
binaryify 已提交
354 355
**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
356

B
improve  
binaryify 已提交
357 358 359
**接口地址 :** `/user/followeds`

**调用例子 :** `/user/followeds?uid=32953014`
360 361 362

### 获取用户动态

B
improve  
binaryify 已提交
363 364 365
说明 : 登陆后调用此接口 , 传入用户 id, 可以获取用户动态

**必选参数 :** `uid` : 用户 id
366

B
improve  
binaryify 已提交
367
**接口地址 :** `/user/event`
368

B
improve  
binaryify 已提交
369
**调用例子 :** `/user/event?uid=32953014`
370 371 372

### 获取用户播放记录

B
improve  
binaryify 已提交
373 374 375
说明 : 登陆后调用此接口 , 传入用户 id, 可获取用户播放记录

**必选参数 :** `uid` : 用户 id
376

B
improve  
binaryify 已提交
377
**可选参数 :** `type` : type=1 时只返回 weekData, type=0 时返回 allData
378

B
improve  
binaryify 已提交
379
**接口地址 :** `/user/record`
380

B
improve  
binaryify 已提交
381
**调用例子 :** `/user/record?uid=32953014&type=1`
382

Z
zhixuan 已提交
383 384
### 获取动态消息

B
improve  
binaryify 已提交
385 386
说明 : 调用此接口 , 可获取各种动态 , 对应网页版网易云,朋友界面里的各种动态消息
,如分享的视频,音乐,照片等!
Z
zhixuan 已提交
387

B
improve  
binaryify 已提交
388
**必选参数 :** 未知
Z
zhixuan 已提交
389

B
improve  
binaryify 已提交
390 391 392
**接口地址 :** `/event`

**调用例子 :** `/event`
Z
zhixuan 已提交
393

B
improve  
binaryify 已提交
394
### 获取精品歌单
395

B
improve  
binaryify 已提交
396
说明 : 调用此接口 , 可获取精品歌单
397

B
improve  
binaryify 已提交
398 399
**可选参数 :** `cat`: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为
" 全部 "
400

B
improve  
binaryify 已提交
401
`limit`: 取出歌单数量 , 默认为 20
402

B
improve  
binaryify 已提交
403
**接口地址 :** `/top/playlist/highquality`
404

B
improve  
binaryify 已提交
405
**调用例子 :** `/top/playlist/highquality?limit=30`
406

B
improve  
binaryify 已提交
407
### 获取歌单详情
408

B
improve  
binaryify 已提交
409
说明 : 歌单能看到歌单名字 , 但看不到具体歌单内容 , 调用此接口 , 传入歌单 id, 可
B
improve  
binaryify 已提交
410 411 412
以获取对应歌单内的所有的音乐

**必选参数 :** `id` : 歌单 id
413

B
improve  
binaryify 已提交
414
**接口地址 :** `/playlist/detail`
415

B
improve  
binaryify 已提交
416
**调用例子 :** `/playlist/detail?id=24381616`
417

B
improve  
binaryify 已提交
418
返回数据如下图 :
B
binaryify 已提交
419 420 421
![歌单详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E5%8D%95%E8%AF%A6%E6%83%85.png)

### 获取音乐 url
422

B
improve  
binaryify 已提交
423 424 425 426 427 428
说明 : 使用歌单详情接口后 , 能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口
, 传入的音乐 id( 可多个 , 用逗号隔开 ), 可以获取对应的音乐的 url( 不需要登录 )

> 注 : 部分用户反馈获取的 url 会 403,[hwaphon](https://github.com/hwaphon)找到的
> 解决方案是当获取到音乐的 id 后,将
> http://music.163.com/song/media/outer/url?id=id.mp3 以 src 赋予 Audio 即可播放
B
binaryify 已提交
429

B
improve  
binaryify 已提交
430
**必选参数 :** `id` : 音乐 id
431

B
binaryify 已提交
432 433
**可选参数 :** `br`: 码率,默认设置了999000即最大码率,如果要 320k 则可设置为 320000,其他类推

B
improve  
binaryify 已提交
434
**接口地址 :** `/music/url`
435

B
improve  
binaryify 已提交
436
**调用例子 :** `/music/url?id=33894312` `/music/url?id=405998841,33894312`
437

B
improve  
binaryify 已提交
438
返回数据如下图 :
B
binaryify 已提交
439 440
![音乐 url](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E9%9F%B3%E4%B9%90%20url.png)

441
### 搜索
442

B
improve  
binaryify 已提交
443 444 445
说明 : 调用此接口 , 传入搜索关键词可以搜索该音乐 / 专辑 / 歌手 / 歌单 / 用户 ,
关键词可以多个 , 以空格隔开 , 如 " 周杰伦 搁浅 "( 不需要登录 ), 搜索获取的
mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具体的播放链接
446

B
improve  
binaryify 已提交
447
**必选参数 :** `keywords` : 关键词
448

B
improve  
binaryify 已提交
449 450
**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
N
nujhong 已提交
451

B
improve  
binaryify 已提交
452 453
`type`: 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲 10: 专辑 100: 歌手 1000:
歌单 1002: 用户 1004: MV 1006: 歌词 1009: 电台
N
nujhong 已提交
454

B
improve  
binaryify 已提交
455
**接口地址 :** `/search`
456

B
improve  
binaryify 已提交
457
**调用例子 :** `/search?keywords= 海阔天空`
458

B
improve  
binaryify 已提交
459
返回数据如下图 :
B
binaryify 已提交
460 461
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%90%9C%E7%B4%A2.png)

B
binaryify 已提交
462 463 464 465 466 467 468
### 热搜
说明 : 调用此接口,可获取热门搜索列表

**接口地址 :** `/search/hot`

**调用例子 :** `/search/hot`

469 470
### 搜索建议

B
improve  
binaryify 已提交
471
说明 : 调用此接口 , 传入搜索关键词可获得搜索建议 , 搜索结果同时包含单曲 , 歌手 ,
B
improve  
binaryify 已提交
472
歌单 ,mv 信息
473

B
improve  
binaryify 已提交
474
**必选参数 :** `keywords` : 关键词
N
nujhong 已提交
475

B
improve  
binaryify 已提交
476 477
**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
N
nujhong 已提交
478

B
improve  
binaryify 已提交
479 480
`type`: 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲 10: 专辑 100: 歌手 1000:
歌单 1002: 用户 1004: MV 1006: 歌词 1009: 电台
481

B
improve  
binaryify 已提交
482
**接口地址 :** `/search/suggest`
483

B
improve  
binaryify 已提交
484
**调用例子 :** `/search/suggest?keywords= 海阔天空`
485

B
binaryify 已提交
486 487
### 搜索多重匹配

B
improve  
binaryify 已提交
488 489 490
说明 : 调用此接口 , 传入搜索关键词可获得搜索结果

**必选参数 :** `keywords` : 关键词
N
nujhong 已提交
491

B
improve  
binaryify 已提交
492
**接口地址 :** `/search/multimatch`
B
binaryify 已提交
493

B
improve  
binaryify 已提交
494
**调用例子 :** `/search/multimatch?keywords= 海阔天空`
B
binaryify 已提交
495

496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524
### 新建歌单

说明 : 调用此接口 , 传入歌单名字可新建歌单

**必选参数 :** `name` :  歌单名

**接口地址 :** `/playlist/create`

**调用例子 :** `/playlist/create?name=测试歌单`

返回数据如下图:
![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3va885z5j31a617qwjy.jpg)

### 收藏/取消收藏歌单

说明 : 调用此接口 , 传入类型和歌单 id 可收藏歌单或者取消收藏歌单

**必选参数 :**
`t` :  类型,1:收藏,2:取消收藏
`id` : 歌单 id

**接口地址 :** `/playlist/subscribe`

**调用例子 :** `/playlist/subscribe?t=1&id=106697785` `/playlist/subscribe?t=2&id=106697785`

返回数据如下图:
![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3vdwx0hvj30s405u74b.jpg)


525
### 对歌单添加或删除歌曲
B
binaryify 已提交
526

B
improve  
binaryify 已提交
527
说明 : 调用此接口 , 可以添加歌曲到歌单或者从歌单删除某首歌曲 ( 需要登录 )
B
binaryify 已提交
528

B
improve  
binaryify 已提交
529 530
**必选参数 :** `op`: 从歌单增加单曲为 add, 删除为 del `pid`: 歌单 id `tracks`:
歌曲 id
B
binaryify 已提交
531

B
improve  
binaryify 已提交
532
**接口地址 :** `/playlist/tracks`
B
binaryify 已提交
533

B
improve  
binaryify 已提交
534 535
**调用例子 :** `/playlist/tracks?op=add&pid=24381616&tracks=347230` ( 对应把 '
海阔天空 ' 添加到 ' 我 ' 的歌单 , 测试的时候请把这里的 pid 换成你自己的 )
536

B
binaryify 已提交
537
### 获取歌词
538

B
improve  
binaryify 已提交
539
说明 : 调用此接口 , 传入音乐 id 可获得对应音乐的歌词 ( 不需要登录 )
540

B
improve  
binaryify 已提交
541
**必选参数 :** `id`: 音乐 id
542

B
improve  
binaryify 已提交
543
**接口地址 :** `/lyric`
544

B
improve  
binaryify 已提交
545 546 547
**调用例子 :** `/lyric?id=33894312`

返回数据如下图 :
548
![获取歌词](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E8%AF%8D.png)
B
binaryify 已提交
549

550
### 歌曲评论
551

B
improve  
binaryify 已提交
552 553
说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该音乐的所有评论 ( 不需要
登录 )
554

B
improve  
binaryify 已提交
555
**必选参数 :** `id`: 音乐 id
556

B
improve  
binaryify 已提交
557
**可选参数 :** `limit`: 取出评论数量 , 默认为 20
558

B
improve  
binaryify 已提交
559
`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值
560

B
improve  
binaryify 已提交
561
**接口地址 :** `/comment/music`
562

B
improve  
binaryify 已提交
563
**调用例子 :** `/comment/music?id=186016&limit=1` 对应晴天评论
564

B
improve  
binaryify 已提交
565 566
返回数据如下图 :
![获取评论](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/comment.png)
567 568 569

### 专辑评论

B
improve  
binaryify 已提交
570 571
说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该专辑的所有评论 ( 不需要
登录 )
572

B
improve  
binaryify 已提交
573
**必选参数 :** `id`: 专辑 id
574

B
improve  
binaryify 已提交
575
**可选参数 :** `limit`: 取出评论数量 , 默认为 20
576

B
improve  
binaryify 已提交
577
`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值
578

B
improve  
binaryify 已提交
579 580 581
**接口地址 :** `/comment/album`

**调用例子 :** `/comment/album?id=32311`
582 583 584

### 歌单评论

B
improve  
binaryify 已提交
585 586 587 588
说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该歌单的所有评论 ( 不需要
登录 )

**必选参数 :** `id`: 歌单 id
589

B
improve  
binaryify 已提交
590
**可选参数 :** `limit`: 取出评论数量 , 默认为 20
591

B
improve  
binaryify 已提交
592
`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值
593

B
improve  
binaryify 已提交
594
**接口地址 :** `/comment/playlist`
595

B
improve  
binaryify 已提交
596
**调用例子 :** `/comment/playlist?id=705123491`
597 598 599

### mv 评论

B
improve  
binaryify 已提交
600 601
说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 mv 的所有评论 ( 不需要
登录 )
602

B
improve  
binaryify 已提交
603
**必选参数 :** `id`: mv id
604

B
improve  
binaryify 已提交
605
**可选参数 :** `limit`: 取出评论数量 , 默认为 20
606

B
improve  
binaryify 已提交
607
`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值
608

B
improve  
binaryify 已提交
609 610 611
**接口地址 :** `/comment/mv`

**调用例子 :** `/comment/mv?id=5436712`
612 613 614

### 电台节目评论

B
improve  
binaryify 已提交
615 616 617 618
说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 电台节目 的所有评论 (
不需要登录 )

**必选参数 :** `id`: 电台节目的 id
619

B
improve  
binaryify 已提交
620
**可选参数 :** `limit`: 取出评论数量 , 默认为 20
621

B
improve  
binaryify 已提交
622
`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值
623

B
improve  
binaryify 已提交
624
**接口地址 :** `/comment/dj`
625

B
improve  
binaryify 已提交
626
**调用例子 :** `/comment/dj?id=794062371`
627

B
binaryify 已提交
628 629
### 给评论点赞

B
improve  
binaryify 已提交
630 631 632 633
说明 : 调用此接口 , 传入 type, 资源 id, 和评论 id cid 和 是否点赞参数 t 即可给对
应评论点赞 ( 需要登录 )

**必选参数 :** `id` : 资源 id, 如歌曲 id,mv id
B
binaryify 已提交
634

B
improve  
binaryify 已提交
635
`cid` : 评论 id
B
binaryify 已提交
636

B
improve  
binaryify 已提交
637
`t` : 是否点赞 ,1 为点赞 ,0 为取消点赞
B
binaryify 已提交
638

B
improve  
binaryify 已提交
639
`tpye`: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台对应以下类型
B
binaryify 已提交
640

B
binaryify 已提交
641 642 643 644
```
0: 歌曲
1: mv
2: 歌单
N
nujhong 已提交
645
3: 专辑
B
binaryify 已提交
646
4: 电台
B
improve  
binaryify 已提交
647
```
N
nujhong 已提交
648

B
improve  
binaryify 已提交
649
**接口地址 :** `comment/like`
B
binaryify 已提交
650

B
improve  
binaryify 已提交
651 652
**调用例子 :** `/comment/like?id=186016&cid=4956438&t=1&type=0` 对应给晴天最热门
的那条评论点赞
B
binaryify 已提交
653

654 655
### banner

B
improve  
binaryify 已提交
656 657
说明 : 调用此接口 , 可获取 banner( 轮播图 ) 数据注 : 因参数未知 , 只能获取比较旧
的数据 , 如果有知道参数的小伙伴 , 可提交 PR
658

B
improve  
binaryify 已提交
659 660 661
**接口地址 :** `/banner`

**调用例子 :** `/banner`
B
binaryify 已提交
662 663 664

### 获取歌曲详情

B
binaryify 已提交
665
说明 : 调用此接口 , 传入音乐 id, 可获得歌曲详情(注意:歌曲封面现在需要通过专辑内容接口获取)
B
binaryify 已提交
666

B
improve  
binaryify 已提交
667
**必选参数 :** `ids`: 音乐 id, 如 `ids=347230`
B
binaryify 已提交
668

B
improve  
binaryify 已提交
669
**接口地址 :** `/song/detail`
B
binaryify 已提交
670

B
improve  
binaryify 已提交
671
**调用例子 :** `/song/detail?ids=347230`
B
binaryify 已提交
672

B
improve  
binaryify 已提交
673 674
返回数据如下图 :
![获取歌曲详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/songDetail.png)
B
binaryify 已提交
675

B
binaryify 已提交
676
### 获取专辑内容
677

B
improve  
binaryify 已提交
678
说明 : 调用此接口 , 传入专辑 id, 可获得专辑内容
679

B
improve  
binaryify 已提交
680
**必选参数 :** `id`: 专辑 id
681

B
improve  
binaryify 已提交
682
**接口地址 :** `/album`
683

B
improve  
binaryify 已提交
684 685 686
**调用例子 :** `/album?id=32311`

返回数据如下图 :
687
![获取专辑内容](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E4%B8%93%E8%BE%91.png)
688

689
### 获取歌手单曲
690

B
improve  
binaryify 已提交
691
说明 : 调用此接口 , 传入歌手 id, 可获得歌手部分信息和热门歌曲
B
improve  
binaryify 已提交
692 693

**必选参数 :** `id`: 歌手 id, 可由搜索接口获得
694

B
improve  
binaryify 已提交
695
**接口地址 :** `/artists`
696

B
improve  
binaryify 已提交
697
**调用例子 :** `/artists?id=6452`
698

B
improve  
binaryify 已提交
699
返回数据如下图 :
700 701
![获取歌手单曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/artists.png)

702
### 获取歌手 mv
B
improve  
binaryify 已提交
703 704 705

说明 : 调用此接口 , 传入歌手 id, 可获得歌手 mv 信息 , 具体 mv 播放地址可调
`/mv`传入此接口获得的 mvid 来拿到 , 如 :
706 707
`/artist/mv?id=6452`,`/mv?mvid=5461064`

B
improve  
binaryify 已提交
708
**必选参数 :** `id`: 歌手 id, 可由搜索接口获得
709

B
improve  
binaryify 已提交
710
**接口地址 :** `/artist/mv`
711

B
improve  
binaryify 已提交
712
**调用例子 :** `/artist/mv?id=6452`
713

714
### 获取歌手专辑
715

B
improve  
binaryify 已提交
716
说明 : 调用此接口 , 传入歌手 id, 可获得歌手专辑内容
717

B
improve  
binaryify 已提交
718
**必选参数 :** `id`: 歌手 id
719

B
improve  
binaryify 已提交
720
**可选参数 :** `limit`: 取出数量 , 默认为 50
B
binaryify 已提交
721

B
improve  
binaryify 已提交
722 723
`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认
为 0
724

B
improve  
binaryify 已提交
725
**接口地址 :** `/artist/album`
726

B
improve  
binaryify 已提交
727 728 729
**调用例子 :** `/artist/album?id=6452&limit=30` ( 周杰伦 )

返回数据如下图 :
730
![获取专辑内容](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/artist_album.png)
731

732 733
### 获取歌手描述

B
improve  
binaryify 已提交
734 735 736
说明 : 调用此接口 , 传入歌手 id, 可获得歌手描述

**必选参数 :** `id`: 歌手 id
737

B
improve  
binaryify 已提交
738
**接口地址 :** `/artist/desc`
739

B
improve  
binaryify 已提交
740
**调用例子 :** `/artist/desc?id=6452` ( 周杰伦 )
741 742 743

### 获取相似歌手

B
improve  
binaryify 已提交
744 745 746
说明 : 调用此接口 , 传入歌手 id, 可获得相似歌手

**必选参数 :** `id`: 歌手 id
747

B
improve  
binaryify 已提交
748
**接口地址 :** `/simi/artist`
749

B
improve  
binaryify 已提交
750
**调用例子 :** `/simi/artist?id=6452` ( 对应和周杰伦相似歌手 )
751 752 753

### 获取相似歌单

B
improve  
binaryify 已提交
754
说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌单
755

B
improve  
binaryify 已提交
756
**必选参数 :** `id`: 歌曲 id
757

B
improve  
binaryify 已提交
758
**接口地址 :** `/simi/playlist`
759

B
improve  
binaryify 已提交
760
**调用例子 :** `/simi/playlist?id=347230` ( 对应 ' 光辉岁月 ' 相似歌单 )
761 762 763

### 相似 mv

B
binaryify 已提交
764 765 766
说明 : 调用此接口 , 传入 `mvid` 可获取相似 mv

**必选参数 :** `mvid`: mv id
767

B
improve  
binaryify 已提交
768
**接口地址 :** `/simi/mv`
769

B
improve  
binaryify 已提交
770
**调用例子 :** `/simi/mv?mvid=5436712`
771 772 773

### 获取相似音乐

B
improve  
binaryify 已提交
774
说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌曲
775

B
improve  
binaryify 已提交
776
**必选参数 :** `id`: 歌曲 id
777

B
improve  
binaryify 已提交
778
**接口地址 :** `/simi/song`
779

B
improve  
binaryify 已提交
780
**调用例子 :** `/simi/song?id=347230` ( 对应 ' 光辉岁月 ' 相似歌曲 )
781

B
improve  
binaryify 已提交
782
### 获取最近 5 个听了这首歌的用户
783

B
improve  
binaryify 已提交
784
说明 : 调用此接口 , 传入歌曲 id, 最近 5 个听了这首歌的用户
785

B
improve  
binaryify 已提交
786
**必选参数 :** `id`: 歌曲 id
787

B
improve  
binaryify 已提交
788 789 790
**接口地址 :** `/simi/user`

**调用例子 :** `/simi/user?id=347230` ( 对应 ' 光辉岁月 ' 相似歌曲 )
791

B
binaryify 已提交
792
### 获取每日推荐歌单
793

B
improve  
binaryify 已提交
794 795 796
说明 : 调用此接口 , 可获得每日推荐歌单 ( 需要登录 )

**接口地址 :** `/recommend/resource`
797

B
improve  
binaryify 已提交
798
**调用例子 :** `/recommend/resource`
799

B
improve  
binaryify 已提交
800
返回数据如下图 :
801
![每日推荐歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E5%8D%95.png)
802

B
binaryify 已提交
803
### 获取每日推荐歌曲
804

B
improve  
binaryify 已提交
805
说明 : 调用此接口 , 可获得每日推荐歌曲 ( 需要登录 )
806

B
improve  
binaryify 已提交
807
**接口地址 :** `/recommend/songs`
808

B
improve  
binaryify 已提交
809
**调用例子 :** `/recommend/songs`
B
binaryify 已提交
810

B
improve  
binaryify 已提交
811 812
返回数据如下图 :
![每日推荐歌曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png)
813 814 815

### 私人 FM

B
improve  
binaryify 已提交
816 817 818
说明 : 私人 FM( 需要登录 )

**接口地址 :** `/personal_fm`
819

B
improve  
binaryify 已提交
820
**调用例子 :** `/personal_fm`
821

B
improve  
binaryify 已提交
822
返回数据如下图 :
823 824 825 826 827

![私人 FM](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/personal_fm.png)

### 签到

B
improve  
binaryify 已提交
828 829 830
说明 : 调用此接口 , 传入签到类型 ( 可不传 , 默认安卓端签到 ), 可签到 ( 需要登录
), 其中安卓端签到可获得 3 点经验 , web/PC 端签到可获得 2 点经验

B
improve  
binaryify 已提交
831
**可选参数 :** `type`: 签到类型 , 默认 0, 其中 0 为安卓端签到 ,1 为 web/PC 签到
832

B
improve  
binaryify 已提交
833
**接口地址 :** `/daily_signin`
834

B
improve  
binaryify 已提交
835 836 837
**调用例子 :** `/daily_signin`

返回数据如下图 :
838

B
binaryify 已提交
839
![签到成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/signinSuccess.png)
840 841 842 843

![签到失败](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/signinError.png)

### 喜欢音乐
B
binaryify 已提交
844

B
improve  
binaryify 已提交
845 846 847
说明 : 调用此接口 , 传入音乐 id, 可喜欢该音乐

**必选参数 :** `id`: 歌曲 id
848

B
improve  
binaryify 已提交
849
**可选参数 :** `like`: 布尔值 , 默认为 true 即喜欢 , 若传 false, 则取消喜欢
850

B
improve  
binaryify 已提交
851
**接口地址 :** `/like`
852

B
improve  
binaryify 已提交
853
**调用例子 :** `/like?id=347230`
854

B
improve  
binaryify 已提交
855
返回数据如下图 :
856 857 858

![喜欢成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/like.png)

B
improve  
binaryify 已提交
859
喜欢成功则返回数据的 code 为 200, 其余为失败
B
binaryify 已提交
860

861 862 863 864
![喜欢成功截图](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/likeSuccess.png)

### 垃圾桶

B
improve  
binaryify 已提交
865 866 867
说明 : 调用此接口 , 传入音乐 id, 可把该音乐从私人 FM 中移除至垃圾桶

**必选参数 :** `id`: 歌曲 id
868

B
improve  
binaryify 已提交
869
**接口地址 :** `/fm_trash`
870

B
improve  
binaryify 已提交
871
**调用例子 :** `/fm_trash?id=347230`
872

B
improve  
binaryify 已提交
873
返回数据如下图 :
874 875 876

![移除成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/fm_trash.png)

B
improve  
binaryify 已提交
877
### 歌单 ( 网友精选碟 )
878

B
improve  
binaryify 已提交
879
说明 : 调用此接口 , 可获取网友精选碟歌单
880

B
improve  
binaryify 已提交
881 882
**可选参数 :** `order`: 可选值为 'new' 和 'hot', 分别对应最新和最热 , 默认为
'hot'
883

B
improve  
binaryify 已提交
884
**接口地址 :** `/top/playlist`
885

B
improve  
binaryify 已提交
886 887 888
**调用例子 :** `/top/playlist?limit=10&order=new`

返回数据如下图 :
889 890 891 892

![精选碟](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_playlist.png)

### 新碟上架
N
nujhong 已提交
893

B
improve  
binaryify 已提交
894 895 896 897
说明 : 调用此接口 , 可获取新碟上架列表 , 如需具体音乐信息需要调用获取专辑列表接
`/album` , 然后传入 id, 如 `/album?id=32311&limit=30`

**可选参数 :** `limit`: 取出数量 , 默认为 50
898

B
improve  
binaryify 已提交
899 900
`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认
为 0
901

B
improve  
binaryify 已提交
902
**接口地址 :** `/top/album`
903

B
improve  
binaryify 已提交
904
**调用例子 :** `/top/album?offset=0&limit=30`
905

B
improve  
binaryify 已提交
906
返回数据如下图 :
907 908 909 910

![新碟上架](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/new_albums.png)

### 热门歌手
N
nujhong 已提交
911

B
improve  
binaryify 已提交
912 913 914
说明 : 调用此接口 , 可获取热门歌手数据

**可选参数 :** `limit`: 取出数量 , 默认为 50
915

B
improve  
binaryify 已提交
916 917
`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认
为 0
918

B
improve  
binaryify 已提交
919
**接口地址 :** `/top/artists`
920

B
improve  
binaryify 已提交
921
**调用例子 :** `/top/artists?offset=0&limit=30`
922

B
improve  
binaryify 已提交
923
返回数据如下图 :
924 925 926

![热门歌手](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_artists.png)

927
### 最新 mv
N
nujhong 已提交
928

B
improve  
binaryify 已提交
929
说明 : 调用此接口 , 可获取最新 mv
930

B
improve  
binaryify 已提交
931
**可选参数 :** `limit`: 取出数量 , 默认为 30
932

B
improve  
binaryify 已提交
933 934 935
**接口地址 :** `/mv/first`

**调用例子 :** `/mv/first?limit=10`
936 937

### 推荐 mv
N
nujhong 已提交
938

B
improve  
binaryify 已提交
939 940 941
说明 : 调用此接口 , 可获取推荐 mv

**接口地址 :** `/personalized/mv`
942

B
improve  
binaryify 已提交
943
**调用例子 :** `/personalized/mv`
944 945

### 推荐歌单
N
nujhong 已提交
946

B
improve  
binaryify 已提交
947 948 949
说明 : 调用此接口 , 可获取推荐歌单

**接口地址 :** `/personalized`
950

B
improve  
binaryify 已提交
951
**调用例子 :** `/personalized`
952 953

### 推荐新音乐
N
nujhong 已提交
954

B
improve  
binaryify 已提交
955
说明 : 调用此接口 , 可获取推荐新音乐
956

B
improve  
binaryify 已提交
957 958 959
**接口地址 :** `/personalized/newsong`

**调用例子 :** `/personalized/newsong`
960 961

### 推荐电台
N
nujhong 已提交
962

B
improve  
binaryify 已提交
963 964 965
说明 : 调用此接口 , 可获取推荐电台

**接口地址 :** `/personalized/djprogram`
966

B
improve  
binaryify 已提交
967
**调用例子 :** `/personalized/djprogram`
968 969

### 推荐节目
N
nujhong 已提交
970

B
improve  
binaryify 已提交
971 972 973
说明 : 调用此接口 , 可获取推荐电台

**接口地址 :** `/program/recommend`
974

B
improve  
binaryify 已提交
975
**调用例子 :** `/program/recommend`
976 977

### 独家放送
N
nujhong 已提交
978

B
improve  
binaryify 已提交
979
说明 : 调用此接口 , 可获取独家放送
980

B
improve  
binaryify 已提交
981
**接口地址 :** `/personalized/privatecontent`
982

B
improve  
binaryify 已提交
983
**调用例子 :** `/personalized/privatecontent`
984 985

### mv 排行
N
nujhong 已提交
986

B
improve  
binaryify 已提交
987
说明 : 调用此接口 , 可获取 mv 排行
988

B
improve  
binaryify 已提交
989
**可选参数 :** `limit`: 取出数量 , 默认为 30
990

B
improve  
binaryify 已提交
991 992
`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认
为 0
993

B
improve  
binaryify 已提交
994 995 996
**接口地址 :** `top/mv`

**调用例子 :** `top/mv?limit=10`
997 998

### 获取 mv 数据
N
nujhong 已提交
999

B
improve  
binaryify 已提交
1000 1001 1002
说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应
MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频
网易做了防盗链处理 , 不能直接播放 , 需要播放的话需要调用 ' 播放 mv' 接口
B
binaryify 已提交
1003

B
improve  
binaryify 已提交
1004
**必选参数 :** `mvid`: mv 的 id
B
binaryify 已提交
1005

B
improve  
binaryify 已提交
1006
**接口地址 :** `/mv`
B
binaryify 已提交
1007

B
improve  
binaryify 已提交
1008
**调用例子 :** `/mv?mvid=5436712`
B
binaryify 已提交
1009

B
improve  
binaryify 已提交
1010
返回数据如下图 :
B
binaryify 已提交
1011

B
improve  
binaryify 已提交
1012
![热门歌手](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/mv.png)
B
binaryify 已提交
1013 1014

### 播放 mv
N
nujhong 已提交
1015

B
improve  
binaryify 已提交
1016 1017 1018
说明 : 调用此接口 , 传入 mv 地址 , 可播放 mv, 也可将接口嵌入 video 标签使用 , 由
于使用了 'pipe', 进度条无法通过拖动进度条控制进度 , 如有解决方案可提出 PR 或者自
行改造
B
binaryify 已提交
1019

B
improve  
binaryify 已提交
1020
**可选参数 :** `url`: mv 的 地址
B
binaryify 已提交
1021

B
improve  
binaryify 已提交
1022 1023 1024
**接口地址 :** `/mv/url`

**调用例子 :**
B
improve  
binaryify 已提交
1025
`/mv/url?url=http://v4.music.126.net/20170422034915/c98eab2f5e2c85fc8de2ab3f0f8ed1c6/web/cloudmusic/MjQ3NDQ3MjUw/89a6a279dc2acfcd068b45ce72b1f560/533e4183a709699d566180ed0cd9abe9.mp4`
B
binaryify 已提交
1026

B
improve  
binaryify 已提交
1027
如下图 :
B
binaryify 已提交
1028 1029 1030

![播放视频](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/play_mv.png)

B
binaryify 已提交
1031
### 排行榜
1032

B
improve  
binaryify 已提交
1033 1034 1035
说明 : 调用此接口 , 传入数字 idx, 可获取不同排行榜

**必选参数 :** `idx`: 对象 key, 对应以下排行榜
B
binaryify 已提交
1036 1037

```
B
improve  
binaryify 已提交
1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058
"0": 云音乐新歌榜,
"1": 云音乐热歌榜,
"2": 网易原创歌曲榜,
"3": 云音乐飙升榜,
"4": 云音乐电音榜,
"5": UK排行榜周榜,
"6": 美国Billboard周榜
"7": KTV嗨榜,
"8": iTunes榜,
"9": Hit FM Top榜,
"10": 日本Oricon周榜
"11": 韩国Melon排行榜周榜,
"12": 韩国Mnet排行榜周榜,
"13": 韩国Melon原声周榜,
"14": 中国TOP排行榜(港台榜),
"15": 中国TOP排行榜(内地榜)
"16": 香港电台中文歌曲龙虎榜,
"17": 华语金曲榜,
"18": 中国嘻哈榜,
"19": 法国 NRJ EuroHot 30周榜,
"20": 台湾Hito排行榜,
N
nujhong 已提交
1059 1060 1061 1062
"21": Beatport全球电子舞曲榜,
"22": 云音乐ACG音乐榜,
"23": 云音乐嘻哈榜
```
B
binaryify 已提交
1063

B
improve  
binaryify 已提交
1064
**接口地址 :** `/top/list`
B
binaryify 已提交
1065

B
improve  
binaryify 已提交
1066
**调用例子 :** `/top/list?idx=6`
B
binaryify 已提交
1067

B
improve  
binaryify 已提交
1068
返回数据如下图 :
B
binaryify 已提交
1069 1070

![排行榜](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_list.png)
1071

H
hzw758 已提交
1072 1073
### 歌手榜

B
improve  
binaryify 已提交
1074
说明 : 调用此接口 , 可获取 PC 版排行榜中的歌手榜
H
hzw758 已提交
1075

B
improve  
binaryify 已提交
1076 1077 1078
**接口地址 :** `/toplist/artist`

**调用例子 :** `/toplist/artist`
1079 1080 1081

### 云盘

B
improve  
binaryify 已提交
1082 1083 1084 1085 1086 1087
说明 : 登陆后调用此接口 , 可获取云盘数据 , 获取的数据没有对应 url, 需要再调用一
`/music/url` 获取 url

**接口地址 :** `/user/cloud`

**调用例子 :** `/user/cloud`
1088

B
improve  
binaryify 已提交
1089
### 电台 - 推荐
1090

B
improve  
binaryify 已提交
1091
说明 : 登陆后调用此接口 , 可获得推荐电台
1092

B
improve  
binaryify 已提交
1093
**接口地址 :** `/dj/recommend`
1094

B
improve  
binaryify 已提交
1095
**调用例子 :** `/dj/recommend`
1096

B
improve  
binaryify 已提交
1097
### 电台 - 分类
1098

B
improve  
binaryify 已提交
1099
说明 : 登陆后调用此接口 , 可获得电台类型
1100

B
improve  
binaryify 已提交
1101
**接口地址 :** `/dj/catelist`
1102

B
improve  
binaryify 已提交
1103
**调用例子 :** `/dj/catelist`
1104

B
improve  
binaryify 已提交
1105
### 电台 - 分类推荐
1106

B
improve  
binaryify 已提交
1107
说明 : 登陆后调用此接口 , 可获得推荐电台
1108

B
improve  
binaryify 已提交
1109 1110
**必选参数 :** `type`: 电台类型 , 数字 , 可通过`/dj/catelist`获取 , 对应关系为
id 对应 此接口的 type, name 对应类型意义
1111

B
improve  
binaryify 已提交
1112
**接口地址 :** `/dj/recommend/type`
1113

B
improve  
binaryify 已提交
1114
**调用例子 :** `/dj/recommend/type?type=1`
1115

B
improve  
binaryify 已提交
1116
### 电台 - 订阅
1117

B
improve  
binaryify 已提交
1118 1119
说明 : 登陆后调用此接口 , 传入`rid`, 可订阅 dj,dj 的 `rid` 可通过搜索指定
type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009`
1120

B
improve  
binaryify 已提交
1121
**必选参数 :** `rid`: 电台 的 id
1122

B
improve  
binaryify 已提交
1123
**接口地址 :** `/dj/sub`
1124

B
improve  
binaryify 已提交
1125 1126
**调用例子 :** `/dj/sub?rid=336355127&t=1` ( 对应关注 ' 代码时间 ')
`/dj/sub?rid=336355127&t=0` ( 对应取消关注 ' 代码时间 ')
1127

B
improve  
binaryify 已提交
1128
### 电台 - 详情
1129

B
improve  
binaryify 已提交
1130
说明 : 登陆后调用此接口 , 传入`rid`, 可获得对应电台的详情介绍
1131

B
improve  
binaryify 已提交
1132
**必选参数 :** `rid`: 电台 的 id
1133

B
improve  
binaryify 已提交
1134
**接口地址 :** `/dj/detail?rid=336355127`
1135

B
improve  
binaryify 已提交
1136
**调用例子 :** `/dj/detail?rid=336355127` ( 对应 ' 代码时间 ' 的详情介绍 )
1137

B
improve  
binaryify 已提交
1138
### 电台 - 节目
1139

B
improve  
binaryify 已提交
1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
说明 : 登陆后调用此接口 , 传入`rid`, 可查看对应电台的电台节目以及对应的 id, 需要
注意的是这个接口返回的 mp3Url 已经无效 , 都为 null, 但是通过调用 `/music/url`
个接口 , 传入节目 id 仍然能获取到节目音频 , 如 `/music/url?id=478446370` 获取代
码时间的一个节目的音频

**必选参数 :** `rid`: 电台 的 id

**接口地址 :** `/dj/program`

**调用例子 :** `/dj/program?rid=336355127` ( 对应 ' 代码时间 ' 的节目列表 )
1150

B
binaryify 已提交
1151
## 离线访问此文档
B
binaryify 已提交
1152

B
improve  
binaryify 已提交
1153
此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问
B
binaryify 已提交
1154 1155

## 关于此文档
B
improve  
binaryify 已提交
1156 1157 1158 1159

此文档由 [docsify](https://github.com/QingWei-Li/docsify/) 生成 docsify 是一个动
态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html
文件,所有转换工作都是在运行时进行。
B
binaryify 已提交
1160

B
binaryify 已提交
1161
## License
B
improve  
binaryify 已提交
1162

B
binaryify 已提交
1163
[The MIT License (MIT)](https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/LICENSE)