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 网页编程

Download history 112/week @ 2024-04-26 113/week @ 2024-05-03 101/week @ 2024-05-10 126/week @ 2024-05-17 111/week @ 2024-05-24 115/week @ 2024-05-31 96/week @ 2024-06-07 117/week @ 2024-06-14 112/week @ 2024-06-21 109/week @ 2024-06-28 94/week @ 2024-07-05 97/week @ 2024-07-12 99/week @ 2024-07-19 233/week @ 2024-07-26 146/week @ 2024-08-02 118/week @ 2024-08-09

612 每月下载量
rescrobbled 中使用

MIT 许可证

65KB
1.5K SLoC

listenbrainz

Crate Documentation CI builder License

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