3 unstable releases

0.4.1-alpha Sep 4, 2023
0.4.0-alpha Aug 23, 2023
0.3.0-alpha Jun 30, 2023
0.2.1-alpha Jun 30, 2023
0.1.3-alpha Jun 27, 2023

#11 in #box

MIT license

130KB
2.5K SLoC

“box-dev-logo”

Rusty-Box

CI License Crates.io Docs


Rusty Box is a Rust client for the Box API.

It is a work in progress and is not yet ready for production use.

To learn how to use Rusty Box, please refer to the documentation. There are some examples that may be useful as well.

Getting Started

Create a new rust project

cargo new my-box-project
cd my-box-project

Add rusty-box to your dependencies

cargo add dotenv
cargo add rusty-box

Create a .dev.env file in the root of your project

DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN

Open your main.rs file and add the following code

use rusty_box::{
    auth::{auth_developer::DeveloperToken, AuthError},
    box_client::BoxClient,
    config::Config,
    rest_api::users::users_api,
};
use std::env;

#[tokio::main]
async fn main() -> Result<(), AuthError> {
    dotenv::from_filename(".dev.env").ok();

    let config = Config::new();
    let auth = DeveloperToken::new(
        config,
        env::var("DEVELOPER_TOKEN").expect("DEVELOPER_TOKEN must be set"),
    );

    let mut client = BoxClient::new(Box::new(auth.clone()));

    let fields = vec![];

    let me = users_api::me(&mut client, Some(fields)).await?;
    println!("Me:\n{me:#?}\n");

    Ok(())
}

Run your project

cargo run

Getting Help

Questions about Rusty Box usage and development can be asked on the Box community forum.

Changelog

Please see the changelog for a release history and indications on how to upgrade from one version to another.

Contributing

If you find any problems or have suggestions about this crate, please submit an issue. Moreover, any pull request, code review and feedback are welcome.

License

MIT

Dependencies

~15–31MB
~483K SLoC