4 个版本
使用旧 Rust 2015
0.1.3 | 2016 年 2 月 11 日 |
---|---|
0.1.2 | 2016 年 2 月 11 日 |
0.1.1 | 2016 年 2 月 11 日 |
0.1.0 | 2016 年 2 月 10 日 |
#10 在 #dropbox
每月 22 次下载
43KB
1K SLoC
非官方的 Rust Dropbox SDK
这是一个(非官方的,即未经 Dropbox 推荐的)Rust Dropbox SDK。目前它还不完整,尽管 API 大部分已经实现。
目前它使用 Hyper 与 Dropbox API 通信,但这是可互换的,允许用户使用他们首选的 HTTP 库,或使用更高级的功能。
它在测试和文档方面也非常缺乏。
已实现功能
目前以下 API 调用是可用的
/files/copy
/files/create_folder
/files/delete
/files/download
/files/list_folder
/files/upload
示例
[source,rust] .基本示例
extern crate dbox;
use dbox::client::Client;
use dbox::files;
const ACCESS_TOKEN: &'static str = "MY_ACCESS_TOKEN";
fn main() {
let client = Client::new(ACCESS_TOKEN);
let (metadata, response) = files::download(&client, "/path/to/file").unwrap();
}
[source,rust] .使用非 Hyper 客户端
// compile with `cargo build --no-default-features`
extern crate dbox;
extern crate rustc_serialize;
use dbox::{DropboxClient, Result, Response};
use dbox::files;
struct MyClient;
impl DropboxClient for MyClient {
fn access_token() -> &str {
// return access token
}
fn request<T>(&self, url: &str, headers: &mut BTreeMap<String, String>, body: &T) -> Result<Response>
where T: rustc_serialize::Encodable + Clone
{
// implement http request here
}
}
fn main() {
let client = MyClient;
let (metadata, response) = files::download(&client, "/path/to/file").unwrap();
}
依赖
~2.2–3.5MB
~62K SLoC