3 个版本
新 0.0.3-alpha.1 | 2024 年 8 月 21 日 |
---|---|
0.0.2 | 2024 年 6 月 11 日 |
0.0.1 | 2024 年 5 月 26 日 |
#522 在 网页编程
222 每月下载量
555KB
9K SLoC
施瓦布 API
这不是官方 API,也不是 Charles Schwab API 的稳定复制品。功能可能会因施瓦布的更新而改变。
概述
目前,仅支持个人开发者的 API。
先决条件
- 要使用 API,您需要在 Charles Schwab 开发者门户 上申请访问权限。批准后,您将收到必要的密钥和密钥。
- (可选)创建自签名证书
openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
示例
use std::path::PathBuf;
use reqwest::Client;
use schwab_api::api;
use schwab_api::token::TokenChecker;
#[tokio::main]
async fn main() {
let key = "your_app_key".to_string();
let secret = "your_secret".to_string();
let callback_url = "https://127.0.0.1:8080".to_string();
let path = dirs::home_dir()
.expect("home dir")
.join(".credentials")
.join("Schwab-rust.json");
let certs_dir = PathBuf::from("your_certs_dir");
let client = Client::new();
let token_checker = TokenChecker::new(path, key, secret, callback_url, certs_dir, client)
.await
.unwrap();
let api = api::Api::new(token_checker, client).await.unwrap();
let req = api.get_quote("VTI".to_string()).await.unwrap();
let rsp = req.send().await.unwrap();
println!("{:?}", rsp);
}
安装
# Cargo.toml
[dependencies]
schwab_api = "0.0"
参考
免责声明: 这是一个施瓦布的非官方 API 包装器。它不受施瓦布或任何相关组织的赞助或关联。在使用此包之前,请务必阅读并理解基础 API 的服务条款。此包的作者不对使用此包可能产生的任何损害承担责任。有关详细信息,请参阅 LICENSE 文件。
依赖项
~23–39MB
~687K SLoC