4 个版本 (2 个破坏性更新)
0.2.0 | 2022 年 12 月 5 日 |
---|---|
0.1.1 | 2022 年 6 月 22 日 |
0.1.0 | 2022 年 6 月 18 日 |
0.0.1 | 2022 年 6 月 10 日 |
#1018 在 网页编程
1MB
16K SLoC
rustgie
一个对 Bungie.net API 进行最小包装并与官方 API 文档一一对应的 Bungie.net API 客户端。
仍处于实验阶段,但应该可以完全工作。目前覆盖了 API v2.15.0(幽灵季节)的完整 API 面积。
示例
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = rustgie::RustgieClientBuilder::new()
.with_api_key("YOUR_API_KEY_HERE")
.build()?;
let manifest_response = client.destiny2_get_destiny_manifest(None::<&str>).await?;
println!("{:#?}", manifest_response.version.expect("Manifest has no version"));
let search_request_body = rustgie_types::user::ExactSearchRequest {
display_name: Some("Cytraen".to_string()),
display_name_code: 2213
};
let search_response = client.destiny2_search_destiny_player_by_bungie_name(
rustgie_types::BungieMembershipType::All,
search_request_body, None::<&str>).await?;
println!("{:#?}", search_response[0].display_name.as_ref().expect("No display name found"));
Ok(())
}
与官方文档的差异
- 表示为有符号整数的位掩码/标志枚举现在表示为无符号
- 位掩码/标志枚举值具有零/多个位被设置(例如
None
,All
)已被删除 - 参数/属性等名称已从
camelCase
更改为snake_case
以符合 Rust 习惯
许可证
根据您选择以下任意一种许可证:
- Apache 许可协议,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则任何有意提交以包含在您的工作中的贡献(根据 Apache-2.0 许可证定义),将按上述方式双重许可,不附加任何其他条款或条件。
依赖关系
~5–22MB
~341K SLoC