auth_get_token/
auth_get_token.rs

1use dotenv::dotenv;
2use lastfm_rust::{APIResponse, Lastfm};
3use std::error::Error;
4
5#[tokio::main]
6async fn main() -> Result<(), Box<dyn 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?;
17
18    let token = match response {
19        APIResponse::Success(value) => value.token,
20        APIResponse::Error(err) => {
21            format!("Error: {} - {}", err.error, err.message)
22        }
23    };
24    println!("Token: {}", token);
25
26    Ok(())
27}