#api-key #steam #web-api #workshop #api-wrapper #steam-api #steam-workshop

steam-workshop-api

提供对 Steam 工作室接口(IPublishedFileService 和 ISteamRemoteStorage)的 API 包装,并增加了代理和 API 密钥支持

10 个不稳定版本 (4 个破坏性版本)

0.6.0 2024 年 8 月 1 日
0.5.0 2024 年 7 月 30 日
0.4.1 2024 年 7 月 27 日
0.3.0 2023 年 7 月 5 日
0.2.5 2021 年 6 月 7 日

#1315 in 网页编程

Download history 34/week @ 2024-06-30 183/week @ 2024-07-21 431/week @ 2024-07-28 5/week @ 2024-08-04

每月下载量 619

MIT 许可证

19KB
349 代码行

rs-steam-workshop-api

一个用于 Steam 网页工作室 API 的 Rust API 库

基本用法

use steam_workshop_api::Workshop;

let mut workshop = Workshop::new();
workshop.set_api_key(Some("yourapikey".to_string()));
let fileids = vec!['121221044', '1643520526'];
let details: Vec<WorkshopItem> = match workshop.get_published_file_details(&fileids) {
    Ok(details) => details,
    Err(err) => { 
        eprintln!("Failed to get file info");
    }
};

lib.rs:

steam_workshop_api

此库提供了对 Steam 网页 API 的访问。底层使用 reqwest::blocking

入门

要访问任何不需要身份验证的 web api(文件详情),您需要创建一个新的实例

use steam_workshop_api::SteamWorkshop;

let wsclient = SteamWorkshop::new();
wsclient.get_published_file_details(&["fileid1".to_string()]);

使用授权方法

授权方法位于 AuthedWorkshop 结构体之后,可以从 Workshop 实例生成

use steam_workshop_api::SteamWorkshop;

let mut wsclient = SteamWorkshop::new();
wsclient.set_apikey(Some("MY_API_KEY".to_string()));
wsclient.can_subscribe("blah");

使用代理方法

代理方法与 AuthedWorkshop 相同,除了可以使用第三方服务器进行代理(并保持 appkey 私密)

use steam_workshop_api::{SearchOptions, SteamWorkshop};

let mut wsclient = SteamWorkshop::new();
wsclient.set_proxy_domain(Some("steamproxy.example.com".to_string()));
// Does not require .set_apikey, as the proxy will handle it
wsclient.search_items(&SearchOptions {
    query: "blah".to_string(),
    count: 10,
    app_id: 550,
    cursor: None,
    required_tags: None,
    excluded_tags: None,
});

依赖项

~4–15MB
~211K SLoC