librespot/examples/get_token.rs

30 lines
869 B
Rust
Raw Normal View History

use std::env;
2022-01-16 00:29:50 +00:00
use librespot::core::{authentication::Credentials, config::SessionConfig, session::Session};
const SCOPES: &str =
"streaming,user-read-playback-state,user-modify-playback-state,user-read-currently-playing";
#[tokio::main]
async fn main() {
let session_config = SessionConfig::default();
let args: Vec<_> = env::args().collect();
2021-06-22 19:49:36 +00:00
if args.len() != 3 {
eprintln!("Usage: {} USERNAME PASSWORD", args[0]);
return;
}
2022-01-16 00:29:50 +00:00
println!("Connecting...");
let credentials = Credentials::with_password(&args[1], &args[2]);
2022-01-16 00:29:50 +00:00
let session = Session::new(session_config, None);
2022-01-16 00:29:50 +00:00
match session.connect(credentials).await {
Ok(()) => println!(
"Token: {:#?}",
session.token_provider().get_token(SCOPES).await.unwrap()
),
Err(e) => println!("Error connecting: {}", e),
}
}