Crate fitbit_rs

Source
Expand description

§Fitbit-rs

A Rust client for the Fitbit API that allows fetching sleep data and activity summaries.

§Features

  • Authentication using access tokens
  • Fetch sleep data with detailed sleep stages and levels
  • Fetch activity summaries including steps, calories, heart rate zones, etc.
  • Response caching to minimize API calls

§Examples

use fitbit_rs::{FitbitClient, FitbitClientTrait};
use chrono::NaiveDate;

fn main() -> Result<(), fitbit_rs::FitbitError> {
    // Get access token (typically from environment or config file)
    let access_token = "your_access_token".to_string();

    // Create a client
    let client = FitbitClient::new(access_token);

    // Fetch today's sleep data
    let today = chrono::Local::now().date_naive();
    let sleep_data = client.fetch_sleep_data(today)?;

    println!("Sleep duration: {} minutes", sleep_data.summary.total_minutes_asleep);

    Ok(())
}

Re-exports§

pub use access_token::AccessTokenError;
pub use access_token::get_access_token;
pub use activity_summary::ActivitySummaryResponse;
pub use error::FitbitError;
pub use fitbit_client::FitbitClient;
pub use fitbit_client::FitbitClientTrait;
pub use sleep::SleepLevel;
pub use sleep::SleepResponse;
pub use sleep::SleepResponseV1_2;

Modules§

access_token
Functionality for retrieving Fitbit API access tokens.
activity_summary
error
Error types for the Fitbit client.
fitbit_client
Main client for interacting with the Fitbit API.
sleep

Structs§

FitbitResponseCache
A cache for Fitbit API responses.