5 个版本
0.0.4 | 2023年9月13日 |
---|---|
0.0.3 | 2023年6月19日 |
0.0.2 | 2023年3月5日 |
0.0.1 | 2023年3月5日 |
0.0.0 | 2023年1月23日 |
#298 in 认证
98KB
2K SLoC
Bombay - Monstercat API 绑定
该库为 Monstercat API 提供安全的 Rust 绑定。
最后,预言成真,甲壳类动物加入了 Monstercat 社区,Ferris 也加入了 螃蟹派对。Bombay 以猫品种和我最喜欢的酒命名。
免责声明
Bombay 未获得 Monstercat 的任何认可,甚至不知道他们是否喜欢我这样做。请负责任!不要使用此库滥用、竞争或以其他方式骚扰 Monstercat。这一点不言而喻,但请勿尝试使用此库绕过任何访问或版权限制。
Bombay 与 Monstercat API 交互,该 API 完全不受我的控制,并可能随时更改。因此,该库可能会在任何时候停止正常工作,或者完全不工作。它被编写得既严格又安全,原因如下:我不想有任何意外行为导致引起 Monstercat 不满的请求。请留意所有这些,并避免依赖于此库处理对你或他人至关重要的任何重要事务,同时避免以可能激怒 Monstercat 的方式修改代码。
我对您使用此项目或从中获得的知识不负任何责任,因此请自行承担风险。
感谢
Monstercat,将一群才华横溢的艺术家和听众聚集在一起。还要感谢他们公开此 API 并允许我们(我认为)玩弄它!。
defvs 和其他贡献者,因为 connect-v2-docs。我开始通过探索 Monstercat 网络播放器来编写此文档,但后来找到了那些文档,这节省了我大量的工作,我只需要更新那里的一些内容。
DNSimple,因为 dnsimple-rust。此库客户端的结构受到了该库的启发。我不知道他们的方法是否“好”,或者我派生的方法是否也好,但我感谢他们!
文档和测试
端点和端点选项/参数没有完全覆盖。
在Bombay 的 docs.rs 页面中有一些示例。我会随着时间的推移添加更多。请导航到不同的模块和结构,以了解如何使用它们。并非所有函数都有示例。
有一些集成测试试图捕捉 Monstercat API 的变化,并作为如何使用库的更多示例。我会随着时间的推移添加更多。这些测试中的错误处理方法与函数示例略有不同。
如果以下环境变量未设置,则某些测试将被忽略
- MC_EMAIL
- MC_PASSWORD
- MC_TOTP_SECRET
功能
Bombay 支持以下功能
- 艺术家
- 获取所有
- 获取最新
- 按艺术家名称 URI 获取
- 获取照片
- 心情
- 获取所有
- 按心情名称 URI 获取
- 播放列表
- 获取前30个播放列表
- 按播放列表 ID 获取
- 获取播放列表曲目
- 获取用户播放列表
- 创建播放列表
- 编辑播放列表
- 修改播放列表项
- 修改多个播放列表项
- 删除播放列表
- 获取瓷砖图像
- 获取背景图像
- 发行版
- 获取所有
- 获取最新
- 按艺术家名称 URI 获取
- 按发行目录 ID 获取
- 按发行 ID 获取相关
- 获取封面艺术
- 流式传输曲目
- 下载曲目
- 用户
- 登录 / 认证
- 电子邮件 + 密码 + 2FA(无论请求什么:无,TOTP 或电子邮件)
- 电子邮件 + 密码 + 2FA(尝试使用电子邮件链接)
- 电子邮件 + 密码 + 2FA(尝试使用 totp)
- 获取用户信息和设置
- 设置用户信息和设置(仅支持值)
- 设置通知兴趣
- 设置电子邮件
- 设置密码
- 启用 2FA 电子邮件
- 禁用 2FA 电子邮件
- 启用 2FA TOTP
- 禁用 2FA TOTP
- 获取 2FA TOTP 二维码
- 获取许可证
- 删除许可证
- 删除视频声明
- 获取流式传输小部件播放器代码
- 生成流式传输小部件播放器代码
- 生成商店折扣代码
- 登录 / 认证
适用时
- 搜索和过滤参数
- 分页参数
下一步
- 迭代分页查询/响应。
- 使用其他社交账户登录。
❗ 安全性
Bombay 并非加密安全。它只是遵守 Monstercat API。我在使用和存储登录详细信息方面没有做出强有力的努力,以实现最佳安全实践。请确保在可信环境中使用 Bombay。
问题
在开发此库的过程中,我不断遇到不符合我预期且破坏反序列化的响应。如果您注意到某些内容无法反序列化,请随时提出问题,我会在有时间时查看。或者,发起一个拉取请求!
成熟度
仍有许多差距。随着我有时间回顾最佳实践,我将改进事物,并且可能会有一些破坏性更改。当我认为它稳定时,我会将 Bombay 版本提升到 0.1.0,除非 Monstercat API 发生重大变化。我不确定是否会有 1.0.0 版本,因为我无法控制他们的 API;我不想造成虚假的可靠性感觉。
许可
MIT 许可证,版权所有 (c) 2023 xohmz
依赖项
~7MB
~156K SLoC