4 个版本
0.1.2 | 2020 年 9 月 26 日 |
---|---|
0.1.1 | 2020 年 9 月 17 日 |
0.1.0 | 2020 年 9 月 17 日 |
0.0.1 | 2020 年 9 月 10 日 |
#121 in #asynchronous
54KB
1.5K SLoC
Rstidal
为 TIDAL 音乐流媒体服务提供的不官方 Rust API 封装。受 rspotify 启发
配置
将以下内容添加到您的 Cargo.toml
[dependencies]
rstidal = "0.1.2"
默认情况下,Rstidal 使用异步编程,通过 asycn
和 await
实现。
入门指南
授权
由于所有方法都需要用户验证,因此您需要使用 Tidal 用户名和密码创建会话。为了验证用户,您的应用程序需要一个应用程序令牌。
如何获取应用程序令牌
使用调试代理(Charles 或 Fiddler)打开您的 Tidal 桌面应用程序,查找对 api.tidal.com
的请求,并复制它使用标题 X-Tidal-Token
的值。
示例
[dependencies]
rstidal = { version = "0.1.0" }
tokio = { version = "0.2", feeatures = ["full"] }
use rstidal::client::Tidal;
use rstidal::auth::TidalCredentials;
use dotenv::dotenv;
use std::env;
#[tokio::main]
async fn main() {
{
dotenv().ok();
}
// Set the token aquired by inspecting your Tidal Desktop application.
let token = env::var("RSTIDAL_APP_TOKEN").unwrap();
let credentials = TidalCredentials::new(&token);
// Create a session using your user credentials.
let username = env::var("RSTIDAL_USERNAME").unwrap();
let password = env::var("RSTIDAL_PASSWORD").unwrap();
let credentials = credentials.create_session(&username, &password).await;
// Use the credentials to start the client
let client = Tidal::new(credentials);
let artist = client.artists.get("37312").await;
println!("{:?}", artist.unwrap());
}
贡献
如果您发现任何问题或对此 crate 有建议,请提交一个问题。此外,任何 pull request、代码审查和反馈都受欢迎
依赖关系
~3–8MB
~178K SLoC