12个版本

0.13.2 2024年6月4日
0.13.0 2024年3月8日
0.12.0 2023年8月26日
0.11.7 2023年4月27日
0.11.3 2021年11月29日

音频 类别中排名第 119

Download history 1079/week @ 2024-04-17 1434/week @ 2024-04-24 1506/week @ 2024-05-01 1228/week @ 2024-05-08 1233/week @ 2024-05-15 1394/week @ 2024-05-22 1226/week @ 2024-05-29 1077/week @ 2024-06-05 1009/week @ 2024-06-12 1051/week @ 2024-06-19 908/week @ 2024-06-26 1588/week @ 2024-07-03 1282/week @ 2024-07-10 1395/week @ 2024-07-17 1253/week @ 2024-07-24 903/week @ 2024-07-31

每月下载量 5,026
19 个crate使用(直接使用5个)

MIT 许可

105KB
2.5K SLoC

Continuous Integration License Crates.io Docs

RSpotify

RSpotify 是 Spotify Web API 的封装,灵感来源于 spotipy。它支持所有 授权流程,并为所有端点提供辅助函数。

要了解如何使用 RSpotify,请参阅 文档。还有一些可能有用的 示例

变更日志

请参阅 变更日志 了解版本发布历史和如何从版本升级到另一个版本。

贡献

如果您在此crate中发现任何问题或对此crate有建议,请提交问题。此外,任何pull request、代码审查和反馈都受欢迎。

代码指南

我们使用GitHub Actions确保代码库的一致性(cargo fmt)和持续测试(cargo test)。我们尽量将注释长度控制在80个字符以内(cargo fmt不会自动检查),并将代码控制在120个字符以内。

特质层次

crate层次

构建

RSpotify 使用 maybe_async 在异步和阻塞客户端之间切换,这由 Cargo.toml 内触发。因此,在构建 rspotify 时必须考虑这一点。请参阅文档中的配置部分,了解有关如何使用自定义TLS实现和其他信息的更多信息。

client-reqwest 默认使用。它应该像这样简单:

$ cargo build

client-ureq 也可用作 blocking 接口,使用 ureq 编译 RSpotify(还需要指定 TLS)

$ cargo build --no-default-features --features client-ureq,ureq-rustls-tls

请注意,您不能像这样构建具有所有功能的 rspotify

$ cargo build --all-features

因为为了在客户端之间切换,不同的客户端必须在 src/http/mod.rs 中实现相同的基特质,所以如果您使用所有功能进行构建,您将得到 duplicate definitions 错误。每枚硬币都有两面,一次只能有一面,不能同时有所有面。

WASM 支持

RSpotify 支持为 wasm32-unknown-unknown 目标进行构建。它应该像这样简单:

$ cargo build --target wasm32-unknown-unknown

有关更多详细信息,请参阅文档

许可证

MIT

依赖项

~1.8–3MB
~55K SLoC