gcal

Crates.iogcal
lib.rsgcal
version0.1.6
sourcesrc
created_at2023-09-02 23:06:25.696059
updated_at2024-03-08 13:55:16.658977
descriptiongcal is simplistic a client library for Google Calendar, designed to power saturn-cli
homepagehttps://github.com/erikh/gcal
repositoryhttps://github.com/erikh/gcal
max_upload_size
id961948
size46,028
Erik Hollensbe (erikh)

documentation

README

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

Commit count: 49

cargo fmt