11 个版本 (7 个重大更新)
0.8.0 | 2024年7月28日 |
---|---|
0.7.0 | 2023年2月12日 |
0.6.0 | 2023年1月26日 |
0.5.0 | 2022年12月4日 |
0.2.0 | 2021年1月20日 |
#668 in 网页编程
612 每月下载量
在 rescrobbled 中使用
65KB
1.5K SLoC
listenbrainz
ListenBrainz API 对 Rust 的绑定。
还有 listenbrainz-rust。然而,该 crate 只支持单个收听、导入和正在播放的请求,并且也不再维护。这个 crate 的目标是成为 ListenBrainz API 版本 1 的完整 API 包装器。
lib.rs
:
ListenBrainz 的 API 绑定。
这个 crate 的目标是成为 ListenBrainz HTTP API (版本 1) 的惯用包装器。它包含在 [raw
] 模块中对 API 进行直接访问的功能,以及一个更方便使用的 ListenBrainz
客户端。
通常,使用 raw
功能更为繁琐,因为它的类型和函数与 HTTP API 的 JSON 输入和响应数据一一对应。因此,建议使用 ListenBrainz
类型。
示例
将当前播放的歌曲提交到 ListenBrainz.org
#
let mut client = ListenBrainz::new();
client.authenticate("LISTENBRAINZ TOKEN")
.expect("Could not authenticate with ListenBrainz");
client.playing_now("The Beatles", "Here Comes the Sun", Some("Abbey Road"))
.expect("Could not submit 'playing now' request");
使用自定义 API URL,例如提交歌曲到 Maloja
#
let mut client = ListenBrainz::new_with_url("http://maloja.example.com/apis/listenbrainz");
client.authenticate("MALOJA API KEY")
.expect("Could not authenticate with Maloja");
client.listen("Lymbyc Systym", "Split Stones", None)
.expect("Could not submit listen");
依赖项
~2.5–4MB
~99K SLoC