A convenient tool binding to the Dropbox APIv2,
Now it can operate user_check
,upload(file size below 150 MB)
, move
and download
.
It will handle the error message from Dropbox api.
And there is async api can be activate by feature non-blocking.
For use, you need a Dropbox access token
sh
cargo add rust-dropbox
user_check
rust
use rust_dropbox::*;
use std::env;
let token = env::var("DROPBOX_TOKEN").unwrap();
let client = client::DBXClient::new(&token);
let res = client.check_user("ping");
assert!(res.is_ok())
upload
rust
use rust_dropbox::*
use std::env;
use std::{
fs::File,
io::Read,
};
let token = env::var("DROPBOX_TOKEN").unwrap();
let mut file = File::open("./profile.jpg").unwrap();
let mut buf: Vec<u8> = Vec::new();
file.read_to_end(&mut buf).unwrap();
let client = client::DBXClient::new(&token);
let res = client.upload(buf, "/test/profile.jpg", UploadMode::Overwrite);
assert!(res.is_ok())
move ```rust use rust_dropbox::* use std::env;
let token = env::var("DROPBOXTOKEN").unwrap(); let client = client::DBXClient::new(&token); let moveoption = MoveOption::new() .allowownershiptransfer() .allowsharedfolder() .allowautorename(); let res = client.movefile("/test/profile.jpg", "/profile.jpg", moveoption); assert!(res.is_ok()) ```
let token = env::var("DROPBOXTOKEN").unwrap(); let client = client::DBXClient::new(&token); let res = client.download("/profile.jpg"); let bytes = res.unwrap(); let mut file = File::create("newprofile.jpg").unwrap(); file.write_all(&bytes).unwrap(); ```
toml
rust-dropbox={version=*,default-features=false,features=["non-blocking"]}