4 个版本
使用旧的 Rust 2015
0.3.0 | 2017 年 10 月 20 日 |
---|---|
0.2.2 | 2017 年 10 月 18 日 |
0.2.1 | 2017 年 10 月 12 日 |
0.2.0 | 2017 年 9 月 8 日 |
#6 in #consuming
每月 24 次下载
用于 hub-sdk
39KB
435 行
Geeny API 接口库
简介
geeny-api-rs
是一个 Rust Crate,用于作为客户端消费 Geeny API。 geeny-api-rs
基于 Reqwest。
安装 & 配置
在你的 Cargo.toml
中,添加以下行
[dependencies]
geeny-api = "0.2"
在你的主项目文件(可能是 lib.rs
或 main.rs
)中,添加以下行
extern crate geeny_api;
组件
连接 API
Geeny Connect API,用于身份验证,通过 geeny_api::ConnectApi
结构和相关方法公开。
示例
extern crate geeny_api;
use geeny_api::ConnectApi;
use geeny_api::models::*;
fn main() {
let api = ConnectApi::default();
// first, obtain a token
let log_req = AuthLoginRequest {
email: "[email protected]".into(),
password: "S3cureP@ssword!".into(),
};
// Login
let response = api.login(&log_req).unwrap();
println!("Your token is: {}", response.token);
// Check token validity
let _ = api.check_token(&response);
// Refresh a Token
let new_response = api.refresh_token(&response).unwrap();
}
事物 API
Geeny 事物 API,用于创建、删除和管理事物、事物类型和消息类型,通过 geeny_api::ThingsApi
结构和相关方法公开。
示例
extern crate geeny_api;
use geeny_api::ThingsApi;
use geeny_api::models::*;
fn main() {
let api = ThingsApi::default();
let token = "...".to_string(); // from ConnectApi.login()
// Display all thing types
for tt in api.get_thing_types(&token).unwrap() {
println!("thing type: {:?}", tt);
}
// Display all message types
for mt in api.get_message_types(&token).unwrap() {
println!(": {:?}", mt);
}
// Display all things
for thng in api.get_things(&token).unwrap() {
println!(": {:?}", thng);
}
}
要求
此 Crate 已与稳定 Rust 版本 1.19.0 及以上版本进行了测试。
许可证
版权 (C) 2017 德国电信电信 Next GmbH,Charlottenstrasse 4,10969 柏林。
本项目根据 Mozilla 公共许可证版本 2.0 的条款进行许可。
联系方式:[email protected]
第三方组件
此 Crate 使用以下第三方组件,并具有以下许可证
许可证 | 数量 | 依赖项 |
---|---|---|
Apache-2.0 | 1 | openssl |
Apache-2.0/MIT | 47 | antidote, backtrace, backtrace-sys, bitflags, bitflags, cfg-if, core-foundation, core-foundation-sys, custom_derive, dtoa, error-chain, foreign-types, gcc, httparse, hyper-native-tls, idna, itoa, lazy_static, libc, log, native-tls, num-traits, num_cpus, percent-encoding, pkg-config, quote, rand, reqwest, rustc-demangle, security-framework, security-framework-sys, serde, serde_derive, serde_derive_internals, serde_json, serde_urlencoded, syn, synom, tempdir, time, traitobject, unicode-bidi, unicode-normalization, unicode-xid, url, uuid, vcpkg |
BSD-3-Clause | 3 | adler32, magenta, magenta-sys |
MIT | 20 | advapi32-sys, base64, conv, crypt32-sys, dbghelp-sys, hyper, kernel32-sys, language-tags, libflate, matches, mime, openssl-sys, redox_syscall, schannel, secur32-sys, typeable, unicase, version_check, winapi, winapi-build |
MIT/Unlicense | 1 | byteorder |
依赖项
~17–28MB
~497K SLoC