trevyn / gcal

Hand-Written Rust Google Calendar API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gcal: Another Google Calendar API library for rust-lang

I wrote this by hand because I found other clients hard to use for my use-cases. This provides an API layer into the Google Calendar API that is very minimal but also mostly complete. Types are fully represented.

Example

use gcal::*;

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    let access_key = std::env::args().nth(1).expect("Provide an access key");
    let now = chrono::Local::now();
    let client = Client::new(access_key);
    let client = EventClient::new(client);
    let list = client.list(now - chrono::Duration::days(1), now).await?;

    for event in &list {
        eprintln!("{} {}", event.id, event.summary);
    }
}

Status

This library is being maintained by hand and is not generated from any API source e.g. OpenAPI, because I can't seem to find an example of Google providing that directly. As a result, calls may be incorrect in spots, especially where they are supplied for completeness and not used in saturn which is what this library was built to power.

If documentation is sparse, I am sorry, if you need explanations please feel free to put in a ticket.

I am happy to maintain the work within reason, but the goal is mostly to prop up saturn, and any major overhauls that would alter that charter would likely be rejected.

Author

Erik Hollensbe erik+github@hollensbe.org

About

Hand-Written Rust Google Calendar API

License:MIT License


Languages

Language:Rust 100.0%