2017-08-23 06:39:49 +00:00
|
|
|
extern crate reqwest;
|
2015-12-22 03:53:45 +00:00
|
|
|
extern crate inth_oauth2;
|
|
|
|
|
2015-12-24 06:11:14 +00:00
|
|
|
use std::io;
|
|
|
|
|
2015-12-26 01:23:48 +00:00
|
|
|
use inth_oauth2::Client;
|
2016-05-22 19:58:16 +00:00
|
|
|
use inth_oauth2::provider::google::{Installed, REDIRECT_URI_OOB};
|
2015-12-22 03:53:45 +00:00
|
|
|
|
|
|
|
fn main() {
|
2017-10-14 17:56:07 +00:00
|
|
|
let http_client = reqwest::Client::new();
|
2017-06-05 00:05:30 +00:00
|
|
|
|
2017-08-23 18:09:05 +00:00
|
|
|
let client = Client::new(
|
|
|
|
Installed,
|
2016-01-29 02:54:14 +00:00
|
|
|
String::from("143225766783-ip2d9qv6sdr37276t77luk6f7bhd6bj5.apps.googleusercontent.com"),
|
|
|
|
String::from("3kZ5WomzHFlN2f_XbhkyPd3o"),
|
2016-05-22 19:58:16 +00:00
|
|
|
Some(String::from(REDIRECT_URI_OOB)),
|
2015-12-22 03:53:45 +00:00
|
|
|
);
|
|
|
|
|
2017-09-26 18:37:21 +00:00
|
|
|
let auth_uri = client.auth_uri(Some("https://www.googleapis.com/auth/userinfo.email"), None);
|
2015-12-22 03:53:45 +00:00
|
|
|
println!("{}", auth_uri);
|
2015-12-24 06:11:14 +00:00
|
|
|
|
|
|
|
let mut code = String::new();
|
|
|
|
io::stdin().read_line(&mut code).unwrap();
|
|
|
|
|
2017-08-23 06:39:49 +00:00
|
|
|
let token = client.request_token(&http_client, code.trim()).unwrap();
|
2015-12-24 06:11:14 +00:00
|
|
|
println!("{:?}", token);
|
2015-12-24 19:38:00 +00:00
|
|
|
|
2017-08-23 06:39:49 +00:00
|
|
|
let token = client.refresh_token(&http_client, token, None).unwrap();
|
2015-12-24 19:38:00 +00:00
|
|
|
println!("{:?}", token);
|
2015-12-22 03:53:45 +00:00
|
|
|
}
|