本项目是基于 ESP32 和 Arduino 框架的网易云 api,使用 PlatformIO 编写。
项目主要参考自NeteaseCloudMusicApi、ncmbot和DecryptLogin。其中ncmbot是可能是较早较完善的api库,基于python2,是我早期玩网易云最快乐的源泉,目前似乎已经停止更新,NeteaseCloudMusicApi是目前最完善的,基于nodejs,本项目的大部分接口都参考自这个项目。
正在持续更新测试中,后期可能会改为独立的Arduino库。
详细请看netease.hpp文件
login
:登录getRecommendSongs
:获取每日推荐歌曲getUserPlaylists
:获取用户所有歌单(包括创建和收藏)getPlaylistDetail
:获取歌单信息getUserDetail
:获取用户信息getUserAccount
:获取当前登录的账户信息getUserLevel
:获取当前登录的用户等级getMusicUrl
:获取歌曲的url信息(下载链接,只对免费歌曲有效)getUserRecord
:获取用户的听歌排行getUserFollows
: 获取用户关注getUserFolloweds
:获取用户粉丝getUserEvent
: 获取用户动态(返回的JSON太大,无法设置返回长度)getPersonalFM
: 获取私人FM(每次请求返回3首歌的信息)
在使用前需要包含头文件 netease.h
,所有相关函数都在命名空间 netease
下:
#include <netease.h>
namespace ntes = netease;
只支持手机号登录:
String phone = "1301111111";
String password = "password";
ntes::User me = ntes::login(phone,password);
DynamicJsonDocument resp = me.getUserAccount();
serializeJsonPretty(resp,Serial); // 序列化输出到串口
可以使用自动类型推导,更加简洁,以后的实例将使用这种写法:
auto me = ntes::login("1301111111","password");
auto resp = me.getUserAccount();
serializeJsonPretty(resp,Serial);