朋友做宿舍用的点歌台,想从网易云拉歌单和搜索,他问我网易云音乐api接口怎么调。官方只开放给合作方,个人项目基本都用社区开源方案,各有各的限制,选之前先看清。

三条路怎么选

第一条是Binaryify的开源项目NeteaseCloudMusicApi,本地起Node服务,端口默认3000,调/search?keywords=周杰伦就能返回歌曲列表,功能最全。第二条是第三方聚合平台,按次收费,有SLA。第三条是逆向官方接口,需要抓包拿加密参数,改版就失效。

本地自建服务的起步配置

git clone之后npm i装依赖,node app.js启动。需要登录的接口走二维码扫码,cookie存本地文件。热歌、每日推荐、歌单详情这些接口免费可用, VIP歌曲就算登录了也拿不到完整音频流,这是版权限制。

必须注意的三件事

  • 仅个人和学习用:条款里明确商用要授权,放到上线产品里有封号和法务风险。
  • 限流:同一IP短时间内刷几百次会被暂时封禁,加节流和缓存,搜索结果缓存一小时。
  • 版本漂移:官方改签名前端接口可能整体变红,锁死开源项目版本再升级。

字段与播放链接

歌曲详情返回id、name、ar(歌手数组)、al(专辑)、dt(时长毫秒)。播放地址接口返回的url有时效,一般30分钟过期,不能存库,要用的时候再取。前端播放直接用audio标签,外链播放器要确认跨域头。

个人业余项目用开源自建服务最划算,记得放到内网或加鉴权,别把3000端口裸奔到公网。要上线的产品,老老实实谈授权或换有版权的商用音乐库。