#![allow(unused)]
use chrono::{DateTime, NaiveDate, NaiveDateTime, NaiveTime};
use microsoft::model::{Attachment, Page};
use microsoft::{MicrosoftAuth, MicrosoftClient};
use std::{env, fs};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let access_token = env::var("MICROSOFT_ACCESS_TOKEN").unwrap();
let refresh_token = env::var("MICROSOFT_REFRESH_TOKEN").unwrap();
let auth = MicrosoftAuth::oauth2(access_token, refresh_token, None);
let client = MicrosoftClient::with_auth(auth);
let filter = "contains(subject, 'PRGX2351725')";
let mut res = client
.list_messages()
.filter(filter)
.await
.unwrap();
'outer: loop {
for message in res.value {
println!("id: {}", message.id);
println!("index: {}", message.conversation_index);
println!("date: {}", message.sent_date_time);
println!("subject: {}", message.subject);
println!(
"from: {}",
message.from.map(|f| f.email_address.address).unwrap_or_default()
);
println!("to: {}", message.to_recipients.first().unwrap().email_address.address);
}
let Some(next_link) = res.next_link else {
break;
};
res = client.list_messages().next(next_link).await.unwrap();
}
Ok(())
}