4 个版本
0.1.3 | 2024 年 5 月 25 日 |
---|---|
0.1.2 | 2024 年 2 月 10 日 |
0.1.1 | 2024 年 2 月 6 日 |
0.1.0 | 2024 年 2 月 6 日 |
923 在 游戏 中排名
每月下载 36 次
45KB
877 行
Fortnite API
此 crate 是 Fortnite API 的包装器。
用法
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_news_v2(&http_client, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
端点
端点 | 函数 | 结果类型 |
---|---|---|
AES V2 | get_aes_keys_v2 |
AesV2 |
Banners V1 | get_banners_v1 |
BannersV1 |
Banners Colors V1 | get_banners_colors_v1 |
BannersColorsV1 |
Cosmetics V2 | get_cosmetics_v2 |
CosmeticsV2 |
Cosmetics New V2 | get_cosmetics_new_v2 |
CosmeticsNewV2 |
Cosmetic By ID V2 | get_cosmetic_by_id_v2 |
CosmeticV2 |
Creator Code V2 | get_creatorcode_v2 |
CreatorCodeV2 |
Map V1 | get_map_v1 |
MapV1 |
News V2 | get_news_v2 |
NewsV2 |
News Gamemode V2 | get_news_br_v2 get_news_stw_v2 get_news_creative_v2 |
新闻 |
Playlists V1 | get_playlists_v1 |
PlaylistsV1 |
Playlists By ID V1 | get_playlist_by_id_v1 |
PlaylistV1 |
Shop BR V2 | get_shop_br_v2 get_shop_combined_v2 |
ShopV2 |
Stats V2 | get_stats_v2 get_stats_by_account_id_v2 |
StatsV2 |
获取当前 AES 密钥。
参数
http_client
: reqwest 客户端。key_format
: AES 密钥的格式。可以是None
,Some(AesKeyFormat::Hex)
或Some(AesKeyFormat::Base64)
。
返回
当前 AES 密钥。
示例
use fortnite_api::response_types::aes::AesKeyFormat;
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_aes_keys_v2(&http_client, Some(AesKeyFormat::Hex)).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取横幅。
参数
http_client
: reqwest 客户端。language
:横幅的语言。可以是None
或语言代码。
返回
横幅。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_banners_v1(&http_client, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取横幅颜色。
参数
http_client
: reqwest 客户端。
返回
横幅颜色。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_banners_colors_v1(&http_client).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取化妆品。
参数
http_client
: reqwest 客户端。language
:化妆品的语言。可以是None
或语言代码。
返回
化妆品。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_cosmetics_v2(&http_client, None).await;
assert!(result.is_ok());
}
获取新化妆品。
参数
http_client
: reqwest 客户端。language
:化妆品的语言。可以是None
或语言代码。
返回
新化妆品。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_cosmetics_new_v2(&http_client, None).await;
assert!(result.is_ok());
}
通过ID获取化妆品。
参数
http_client
: reqwest 客户端。cosmetic_id
:化妆品的ID。language
:化妆品的语言。可以是None
或语言代码。
返回
通过ID获取的化妆品。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_cosmetics_new_v2(&http_client, None).await;
assert!(result.is_ok());
let cosmetic_id = result.unwrap().items.first().unwrap().id.clone();
let result = fortnite_api::get_cosmetic_by_id_v2(&http_client, &cosmetic_id, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取创建者代码。
参数
http_client
: reqwest 客户端。name
:创建者代码的名称。
返回
创建者代码。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_creatorcode_v2(&http_client, "trymacs").await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取地图。
参数
http_client
: reqwest 客户端。language
:地图的语言。可以是None
或语言代码。
返回
地图。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_map_v1(&http_client, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取新闻。
参数
http_client
: reqwest 客户端。language
:新闻的语言。可以是None
或语言代码。
返回
新闻。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_news_v2(&http_client, None).await;
println!("Result: {:#?}", result);
}
获取皇室战争新闻。
参数
http_client
: reqwest 客户端。language
:新闻的语言。可以是None
或语言代码。
返回
皇室战争新闻。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_news_br_v2(&http_client, None).await;
println!("Result: {:#?}", result);
}
获取拯救世界新闻。
参数
http_client
: reqwest 客户端。language
:新闻的语言。可以是None
或语言代码。
返回
拯救世界新闻。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_news_stw_v2(&http_client, None).await;
println!("Result: {:#?}", result);
}
获取创意新闻。
参数
http_client
: reqwest 客户端。language
:新闻的语言。可以是None
或语言代码。
返回
创意新闻。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_news_creative_v2(&http_client, None).await;
println!("Result: {:#?}", result);
}
获取播放列表。
参数
http_client
: reqwest 客户端。language
:播放列表的语言。可以是None
或语言代码。
返回
播放列表。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_playlists_v1(&http_client, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
通过ID获取播放列表。
参数
http_client
: reqwest 客户端。language
:播放列表的语言。可以是None
或语言代码。
返回
通过ID获取的播放列表。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_playlists_v1(&http_client, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
let playlist_id = result.unwrap().first().unwrap().id.clone();
let result = fortnite_api::get_playlist_by_id_v1(&http_client, &playlist_id, None).await;
println!("Result: {:#?}", result);
}
获取皇室战争商店。
参数
http_client
: reqwest 客户端。language
:商店的语言。可以是None
或语言代码。
返回
皇室战争商店。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_shop_br_v2(&http_client, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取综合商店。
参数
http_client
: reqwest 客户端。language
:商店的语言。可以是None
或语言代码。
返回
综合商店。
示例
#[tokio::main]
async fn main() {
let http_client = reqwest::Client::new();
let result = fortnite_api::get_shop_combined_v2(&http_client, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
获取玩家统计数据。
参数
http_client
: reqwest 客户端。api_key
:您的《堡垒之夜》API密钥。name
:玩家的名称。account_type
:玩家的账户类型。可以是None
或StatsAccountType
。time_window
:统计数据的时段。可以是None
或StatsTimeWindow
。image
:统计数据的图像。可以是None
或StatsImage
。language
:商店的语言。可以是None
或语言代码。
返回
玩家统计数据。
示例
use fortnite_api::response_types::stats::{StatsAccountType, StatsImage, StatsTimeWindow};
#[tokio::main]
async fn main() {
dotenv::dotenv().ok();
let http_client = reqwest::Client::new();
let api_key = std::env::var("FORTNITE_API_KEY")
.expect("Please set the FORTNITE_API_KEY environment variable");
let result =
fortnite_api::get_stats_v2(&http_client, api_key.clone(), "Test", None, None, None).await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
通过账户ID获取玩家统计数据。
参数
http_client
: reqwest 客户端。api_key
:您的《堡垒之夜》API密钥。account_id
:玩家的账户ID。time_window
:统计数据的时段。可以是None
或StatsTimeWindow
。image
:统计数据的图像。可以是None
或StatsImage
。
返回
玩家统计数据。
示例
use fortnite_api::response_types::stats::{StatsAccountType, StatsImage, StatsTimeWindow};
#[tokio::main]
async fn main() {
dotenv::dotenv().ok();
let http_client = reqwest::Client::new();
let api_key = std::env::var("FORTNITE_API_KEY")
.expect("Please set the FORTNITE_API_KEY environment variable");
let result = fortnite_api::get_stats_by_account_id_v2(
&http_client,
api_key.clone(),
"3f20d6f579db4e7ba71d80fc18576db2",
None,
None,
)
.await;
println!("Result: {:#?}", result);
assert!(result.is_ok());
}
依赖项
~5–16MB
~229K SLoC