|  | @@ -0,0 +1,37 @@
 | 
	
		
			
				|  |  | +use std::env;
 | 
	
		
			
				|  |  | +use tokio_core::reactor::Core;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +use librespot::core::authentication::Credentials;
 | 
	
		
			
				|  |  | +use librespot::core::config::SessionConfig;
 | 
	
		
			
				|  |  | +use librespot::core::keymaster;
 | 
	
		
			
				|  |  | +use librespot::core::session::Session;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const SCOPES: &str =
 | 
	
		
			
				|  |  | +    "streaming,user-read-playback-state,user-modify-playback-state,user-read-currently-playing";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +fn main() {
 | 
	
		
			
				|  |  | +    let mut core = Core::new().unwrap();
 | 
	
		
			
				|  |  | +    let handle = core.handle();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    let session_config = SessionConfig::default();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    let args: Vec<_> = env::args().collect();
 | 
	
		
			
				|  |  | +    if args.len() != 4 {
 | 
	
		
			
				|  |  | +        println!("Usage: {} USERNAME PASSWORD CLIENT_ID", args[0]);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    let username = args[1].to_owned();
 | 
	
		
			
				|  |  | +    let password = args[2].to_owned();
 | 
	
		
			
				|  |  | +    let client_id = &args[3];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    println!("Connecting..");
 | 
	
		
			
				|  |  | +    let credentials = Credentials::with_password(username, password);
 | 
	
		
			
				|  |  | +    let session = core
 | 
	
		
			
				|  |  | +        .run(Session::connect(session_config, credentials, None, handle))
 | 
	
		
			
				|  |  | +        .unwrap();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    println!(
 | 
	
		
			
				|  |  | +        "Token: {:#?}",
 | 
	
		
			
				|  |  | +        core.run(keymaster::get_token(&session, &client_id, SCOPES))
 | 
	
		
			
				|  |  | +            .unwrap()
 | 
	
		
			
				|  |  | +    );
 | 
	
		
			
				|  |  | +}
 |