auth_get_session/
auth_get_session.rs1use dotenv::dotenv;
2use lastfm_rust::{APIResponse, Lastfm};
3use std::error::Error;
4
5#[tokio::main]
6async fn main() -> Result<(), Box<dyn std::error::Error>> {
7 dotenv().ok();
8 let api_key = std::env::var("API_KEY").expect("API_KEY env variable is required");
9 let api_secret = std::env::var("API_SECRET").expect("API_SECRET env variable is required");
10
11 let lastfm = Lastfm::builder()
12 .api_key(api_key)
13 .api_secret(api_secret)
14 .build()?;
15
16 let response = lastfm.auth().get_token().send().await?;
18
19 let token = match response {
20 APIResponse::Success(value) => value.token,
21 APIResponse::Error(err) => {
22 return Err(Box::new(err) as Box<dyn Error>);
23 }
24 };
25
26 println!("Token: {}", token);
27
28 lastfm.auth().pls_authorize(token.to_string());
30
31 let response = lastfm.auth().get_session().token(&token).send().await?;
33
34 println!("Session: {}", response);
35
36 Ok(())
37}