3个稳定版本
2.0.0 | 2023年7月13日 |
---|---|
1.1.3 | 2022年11月16日 |
1.1.2 | 2022年7月19日 |
#88 在 多媒体
462 每月下载量
用于 rescrobbled
61KB
973 行
rustfm-scrobble-proxy
rustfm-scrobble-proxy 是 rustfm-scrobble 的分支。它的API(主要)相同,但它用 attohttpc 替换了内部的 ureq HTTP客户端。这使得库可以在代理后面无缝使用,因为attohttpc会自动获取代理设置,而ureq不会。此外,现在允许在没有专辑的情况下进行scrobble。
要查看所有更改,请查看 CHANGELOG.md
文件。分支发生在版本1.1.2。
rustfm-scrobble使用MIT许可证。有关更多信息,请参阅 LICENSE
文件。以下是原始的README。
rustfm-scrobble 是一个用于Rust的 Last.fm Scrobble API 2.0 crate。它允许通过简单的Rust API轻松访问“scrobble”和“now playing”通知端点。它可以用来记录音乐播放器的歌曲播放,构建类似 VinylScrobbler 的模拟scrobble工具或与物联网设备一起工作。它最初是为了实现 Spotify scrobble服务 而构建的,使用 Spotify Connect协议,当时 Alexa Spotify客户端 不支持将播放记录到Last.fm。
功能
- 将歌曲scrobble到Last.fm('scrobble' API端点)
- 将正在播放的歌曲发布到Last.fm('now playing' API端点)
- 在
Scrobbler::scrobble_batch
和ScrobbleBatch
中支持批量scrobble - 多种身份验证流程以获得发布到Last.fm用户配置文件的权限
- 存储预认证会话密钥并在初始认证后丢弃秘密数据
- 简单的错误处理;每个API操作在失败时都会返回一个包含简单
Result的
Error类型
- 单元测试
安装
将rustfm-scrobble添加到您的Cargo.toml。
[dependencies]
rustfm-scrobble="1.1"
用法
- API文档
- 代码示例
- 示例现在播放 & scrobbling客户端
- 示例批量scrobbling客户端
cargo构建 --例子
./target/debug/examples/example
- 构建:
cargo build
- 运行单元测试:
cargo test
extern crate rustfm_scrobble;
use rustfm_scrobble::{Scrobble, Scrobbler};
let username = "last-fm-username";
let password = "last-fm-password";
let api_key = "client-api-key";
let api_secret = "client-api-secret";
let mut scrobbler = Scrobbler::new(api_key, api_secret);
scrobbler.authenticate_with_password(username, password);
let song = Scrobble::new("Example Artist", "Example Song", "Example Album");
scrobbler.scrobble(song);
使用中
rustfm-scrobble被包括在polaris、connectr、rescrobbled和rb-scrobbler在内的几个项目中。
状态
API是稳定的,并且将保证所有1.0版本的向后兼容性。
许可
MIT许可证,请参阅./LICENSE
。
依赖
~2.5–4MB
~99K SLoC