README.MD 9.6 KB
Newer Older
B
binaryify 已提交
1
# 网易云音乐 API
2

W
improve  
waterdanceTV 已提交
3
网易云音乐 Node.js API service
4

zhuangtongfa's avatar
zhuangtongfa 已提交
5
<p>
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
6
<a href="https://www.npmjs.com/package/NeteaseCloudMusicApi"><img src="https://img.shields.io/npm/v/NeteaseCloudMusicApi.svg" alt="Version"></a>
zhuangtongfa's avatar
zhuangtongfa 已提交
7
<a href="https://www.npmjs.com/package/NeteaseCloudMusicApi"><img src="https://img.shields.io/npm/l/NeteaseCloudMusicApi.svg" alt="License"></a>
zhuangtongfa's avatar
zhuangtongfa 已提交
8 9
<a href="https://www.npmjs.com/package/NeteaseCloudMusicApi"><img src="https://img.shields.io/david/dev/binaryify/NeteaseCloudMusicApi.svg" alt="devDependencies" ></a>
<a href="https://www.npmjs.com/package/NeteaseCloudMusicApi"><img src="https://img.shields.io/david/binaryify/NeteaseCloudMusicApi.svg" alt="devDependencies" ></a>
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
10
<a href="https://codeclimate.com/github/Binaryify/NeteaseCloudMusicApi"><img src="https://codeclimate.com/github/Binaryify/NeteaseCloudMusicApi/badges/gpa.svg" /></a>
11
</p>
zhuangtongfa's avatar
zhuangtongfa 已提交
12

J
JackuXL 已提交
13

14
## 灵感来自
15

16 17 18
[disoul/electron-cloud-music](https://github.com/disoul/electron-cloud-music)

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

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

B
binaryify 已提交
22 23
[greats3an/pyncm](https://github.com/greats3an/pyncm)

24 25 26 27 28 29 30 31 32 33 34 35 36 37

## 环境要求

需要 NodeJS 8.12+ 环境

## 安装

```shell
$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git 

$ npm install
```

或者
J
JackuXL 已提交
38

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
```shell
$ git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git

$ npm install
```

## 运行

```shell
$ node app.js
```

服务器启动默认端口为 3000,若不想使用 3000 端口,可使用以下命令: Mac/Linux

```shell
$ PORT=4000 node app.js
```

windows 下使用 git-bash 或者 cmder 等终端执行以下命令:

```shell
$ set PORT=4000 && node app.js
```

B
binaryify 已提交
63
## Vercel 部署
J
JackuXL 已提交
64

B
binaryify 已提交
65
v4.0.8 加入了 Vercel 配置文件,可以直接在 Vercel 下部署了,不需要自己的服务器
J
JackuXL 已提交
66

B
binaryify 已提交
67
### 操作方法
J
JackuXL 已提交
68

B
binaryify 已提交
69 70 71 72 73 74 75
1. fork 此项目
2. 在 Vercel 官网点击 `New Project`
3. 点击 `Import Git Repository` 并选择你 fork 的此项目并点击`import`
4. 点击 `PERSONAL ACCOUNT``select`
5. 直接点`Continue`
6. `PROJECT NAME`自己填,`FRAMEWORK PRESET``Other` 然后直接点 `Deploy` 接着等部署完成即可  

B
binaryify 已提交
76
## 可以在Node.js调用
J
JackuXL 已提交
77

B
binaryify 已提交
78
v3.31.0后支持Node.js调用,导入的方法为`module`内的文件名,返回内容包含`status``body`,`status`为状态码,`body`为请求返回内容,参考`module_example` 文件夹下的 `test.js`
J
JackuXL 已提交
79

B
binaryify 已提交
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
```js
const { login_cellphone, user_cloud } = require('NeteaseCloudMusicApi')
async function main() {
  try {
    const result = await login_cellphone({
      phone: '手机号',
      password: '密码'
    })
    console.log(result)
    const result2 = await user_cloud({
      cookie: result.body.cookie // 凭证
    })
    console.log(result2.body)
      
  } catch (error) {
    console.log(error)
  }
}
main()
```

## 支持 TypeScript
J
JackuXL 已提交
102

B
binaryify 已提交
103 104 105 106 107 108 109 110 111
```ts
// test.ts
import { banner } from 'NeteaseCloudMusicApi'
banner({ type:0 }).then(res=>{
  console.log(res)
})
```


112 113 114 115 116 117 118 119 120
## 使用文档

[文档地址](https://binaryify.github.io/NeteaseCloudMusicApi) 

[文档地址2](https://neteasecloudmusicapi.vercel.app)

![文档](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/docs.png)


121
## 功能特性
J
JackuXL 已提交
122

123
1. 登录
B
binaryify 已提交
124
2. 刷新登录
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
3. 发送验证码
4. 校验验证码
5. 注册(修改密码)
6. 获取用户信息 , 歌单,收藏,mv, dj 数量
7. 获取用户歌单
8. 获取用户电台
9. 获取用户关注列表
10. 获取用户粉丝列表
11. 获取用户动态
12. 获取用户播放记录
13. 获取精品歌单
14. 获取歌单详情
15. 搜索
16. 搜索建议
17. 获取歌词
18. 歌曲评论
19. 收藏单曲到歌单
20. 专辑评论
21. 歌单评论
22. mv 评论
23. 电台节目评论
24. banner
25. 获取歌曲详情
26. 获取专辑内容
27. 获取歌手单曲
28. 获取歌手 mv
29. 获取歌手专辑
30. 获取歌手描述
31. 获取相似歌手
32. 获取相似歌单
33. 相似 mv
34. 获取相似音乐
35. 获取最近 5 个听了这首歌的用户
36. 获取每日推荐歌单
37. 获取每日推荐歌曲
38. 私人 FM
39. 签到
40. 喜欢音乐
41. 垃圾桶
42. 歌单 ( 网友精选碟 )
43. 新碟上架
44. 热门歌手
45. 最新 mv
46. 推荐 mv
47. 推荐歌单
48. 推荐新音乐
49. 推荐电台
50. 推荐节目
51. 独家放送
52. mv 排行
53. 获取 mv 数据
54. 播放 mv/视频
55. 排行榜
56. 歌手榜
57. 云盘
58. 电台 - 推荐
59. 电台 - 分类
60. 电台 - 分类推荐
61. 电台 - 订阅
62. 电台 - 详情
63. 电台 - 节目
64. 给评论点赞
65. 获取动态
188
66. 热搜列表(简略)
189 190 191 192 193 194 195 196 197 198 199
67. 发送私信
68. 发送私信歌单
69. 新建歌单
70. 收藏/取消收藏歌单
71. 歌单分类
72. 收藏的歌手列表
73. 订阅的电台列表
74. 相关歌单推荐
75. 付费精选接口
76. 音乐是否可用检查接口
77. 登录状态
200
78. 获取视频播放地址
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
79. 发送/删除评论
80. 热门评论
81. 视频评论
82. 退出登录
83. 所有榜单
84. 所有榜单内容摘要
85. 收藏视频
86. 收藏 MV
87. 视频详情
88. 相关视频
89. 关注用户
90. 新歌速递
91. 喜欢音乐列表(无序)
92. 收藏的 MV 列表
93. 获取最新专辑
94. 听歌打卡
B
binaryify 已提交
217
95. 获取视频标签/分类下的视频
218 219 220
96. 已收藏专辑列表
97. 获取动态评论
98. 歌单收藏者列表
B
binaryify 已提交
221 222 223 224 225 226
99. 云盘歌曲删除
100. 热门话题
101. 电台 - 推荐类型
102. 电台 - 非热门类型
103. 电台 - 今日优选
104. 心动模式/智能播放
B
binaryify 已提交
227
105. 转发动态
B
binaryify 已提交
228
106. 删除动态
229
107. 分享歌曲、歌单、mv、电台、电台节目到动态
B
binaryify 已提交
230 231 232 233 234 235
108. 通知-私信
109. 通知-评论
110. 通知-@我
111. 通知-通知
112. 设置
113. 云盘数据详情
B
v3.12.0  
binaryify 已提交
236 237
114. 私信内容
115. 我的数字专辑
B
v3.13.0  
binaryify 已提交
238
116. batch批量请求接口
239 240 241
117. 获取视频标签列表
118. 全部mv
119. 网易出品mv
242
120. 收藏/取消收藏专辑
243 244
121. 专辑动态信息
122. 热搜列表(详细)
245
123. 更换绑定手机
246 247
124. 检测手机号码是否已注册
125. 初始化昵称
248 249 250 251
126. 更新歌单描述
127. 更新歌单名
128. 更新歌单标签
129. 默认搜索关键词
B
binaryify 已提交
252
130. 删除歌单
B
binaryify 已提交
253 254 255 256
131. 电台banner
132. 用户电台
133. 热门电台
134. 电台 - 节目详情
257 258
135. 电台 - 节目榜
136. 电台 - 新晋电台榜/热门电台榜
B
binaryify 已提交
259
137. 类别热门电台
260 261 262 263 264 265 266
138. 云村热评
139. 电台24小时节目榜
140. 电台24小时主播榜
141. 电台最热主播榜
142. 电台主播新人榜
143. 电台付费精品榜
144. 歌手热门50首歌曲
B
binaryify 已提交
267
145. 购买数字专辑
268 269
146. 获取 mv 点赞转发评论数数据
147. 获取视频点赞转发评论数数据
B
binaryify 已提交
270 271 272
148. 调整歌单顺序
149. 调整歌曲顺序
150. 独家放送列表
B
binaryify 已提交
273 274 275
151. 获取推荐视频
152. 获取视频分类列表 
153. 获取全部视频列表接口
276 277
154. 获取历史日推可用日期列表
155. 获取历史日推详细数据
278
156. 国家编码列表
279 280
157. 首页-发现
158. 首页-发现-圆形图标入口列表
281 282 283 284 285
159. 数字专辑-全部新碟
160. 数字专辑-热门新碟
161. 数字专辑&数字单曲-榜单
162. 数字专辑-语种风格馆
163. 数字专辑详情
286 287
164. 更新头像
165. 歌单封面上传
B
binaryify 已提交
288
166. 楼层评论
289 290 291
167. 歌手全部歌曲
168. 精品歌单标签列表
169. 用户等级信息
B
binaryify 已提交
292
170. 电台个性推荐
B
binaryify 已提交
293 294 295 296 297 298 299 300
171. 用户绑定信息
172. 用户绑定手机
173. 新版评论
174. 点赞过的视频
175. 收藏视频到视频歌单
176. 删除视频歌单里的视频
177. 最近播放的视频
178. 音乐日历
B
binaryify 已提交
301
179. 电台订阅者列表
302 303 304 305 306 307 308 309 310 311
180. 云贝签到信息
181. 云贝签到
182. 云贝所有任务
183. 云贝todo任务
184. 云贝今日签到信息
185. 云贝完成任务
186. 云贝收入
187. 云贝支出
188. 云贝账户信息
189. 账号信息
312 313
190. 最近联系人
191. 私信音乐
314 315 316
192. 抱一抱评论
193. 评论抱一抱列表
194. 收藏的专栏
B
binaryify 已提交
317 318 319
195. 关注歌手新歌
196. 关注歌手新MV
197. 歌手详情
B
binaryify 已提交
320 321 322 323 324
198. 云盘上传
199. 二维码登录
200. 话题详情
201. 话题详情热门动态
202. 歌单详情动态
B
binaryify 已提交
325
203. 绑定手机
B
binaryify 已提交
326
204. 一起听状态
327 328
205. 用户历史评论
206. 云盘歌曲信息匹配纠正
329 330
207. 云贝推歌
208. 云贝推歌历史记录
B
update  
binaryify 已提交
331 332 333 334 335 336 337 338
209. 已购单曲
210. 获取mlog播放地址
211. 将mlog id转为视频id
212. vip成长值
213. vip成长值获取记录
214. vip任务
215. 领取vip成长值
216. 歌手粉丝
J
JackuXL 已提交
339 340 341 342 343 344 345 346
217. 数字专辑详情
218. 数字专辑销量
219. 音乐人数据概况
220. 音乐人播放趋势
221. 音乐人任务
222. 账号云豆数
223. 领取云豆
224. 获取 VIP 信息
347 348
225. 音乐人签到
226. 发送文本动态
349
227. 获取客户端歌曲下载 url
B
binaryify 已提交
350
228. 获取歌单所有歌曲
B
binaryify 已提交
351
229. 乐签信息
352 353 354 355 356 357
230. 最近播放-歌曲
231. 最近播放-视频
232. 最近播放-声音
233. 最近播放-歌单
234. 最近播放-专辑
235. 最近播放-播客
B
improve  
binaryify 已提交
358

359
## 更新日志
360

361
[changelog](https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/CHANGELOG.MD)
B
binaryify 已提交
362

363
## 单元测试
364

365
```shell
366
$ npm test
367
```
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
368

369 370
![单元测试](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/screenshot1.png)
![单元测试](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/screenshot2.png)
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
371

J
JackuXL 已提交
372 373 374 375 376 377 378
## SDK

| 语言 |                    作者                     |                             地址                             |  类型  |
| :--: | :-----------------------------------------: | :----------------------------------------------------------: | :----: |
| Java |    [JackuXL](https://github.com/JackuXL)    | [https://github.com/JackuXL/NeteaseCloudMusicApi-SDK](https://github.com/JackuXL/NeteaseCloudMusicApi-SDK) | 第三方 |
| Java | [1015770492](https://github.com/1015770492) |       https://github.com/1015770492/yumbo-music-utils        | 第三方 |

B
improve  
binaryify 已提交
379
## 贡献者
J
JackuXL 已提交
380

B
binaryify 已提交
381
![](https://opencollective.com/NeteaseCloudMusicApi/contributors.svg?width=890)
B
improve  
binaryify 已提交
382 383


384
## License
385

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