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

MPL-2.0 许可证

39KB
435

Geeny API 接口库

简介

geeny-api-rs 是一个 Rust Crate,用于作为客户端消费 Geeny API。 geeny-api-rs 基于 Reqwest

安装 & 配置

在你的 Cargo.toml 中,添加以下行

[dependencies]
geeny-api = "0.2"

在你的主项目文件(可能是 lib.rsmain.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