0.1.0 |
|
---|
#165 in #trading
59KB
811 行
tdameritrade_rust-async
一个非官方的TD Ameritrade API异步Rust库。该库自动处理认证,因此您无需担心。
安装
将以下内容添加到您的Cargo.toml中
[dependencies]
tdameritrade_rust-async = "0.1.0"
入门
- 在TD Ameritrade API网站注册
- 转到“我的应用”部分并添加一个新应用
- 点击您的应用并复制消费者密钥
- 点击应用的详细信息部分并复制回调URL
- 下载chromedriver
- 复制以下代码,替换字段,运行并在提示时登录以接收来自TD Ameritrade的令牌文件
use tdameritrade_rust_async::TDAClient;
#[tokio::main]
async fn main() {
// Get Token File
TDAClient::init_start(
"chrome_driver_path".into(), // Path To Chromedriver
"client_id@AMER.OAUTHAP".into(), // Client Id (Consumer Key)
"redirect_uri".into(), // Redirect URI (Callback URL)
"token_file_path".into(), // Where To Put Token File After Completion
)
.await;
}
- 收到令牌文件后,您可以创建一个客户端来访问API端点。以下是一个示例
use tdameritrade_rust_async::TDAClient;
#[tokio::main]
async fn main() {
// Create TDAClient
let mut client = TDAClient::new(
"client_id@AMER.OAUTHAP".into(), // Client Id (Consumer Key)
"redirect_uri".into(), // Redirect URI (Callback URL)
"token_file_path".into(), // Location Of Token File
);
// Get Quote
let res = client.get_quote("AAPL").await;
println!("{}", res);
}
未来计划
- 我计划添加更多文档
- 我计划使股票清单和订单端点更容易使用
- 我计划将输出解码为自定义结构而不是依赖于serde_json::Value
- 我计划添加一个同步客户端
免责声明
tdameritrade_rust-async是在MIT许可证下发布的
tdameritrade_rust-async是一个非官方API包装器。它以任何方式都不受TD Ameritrade或任何相关组织的赞助或关联。作者不对使用此包可能造成的任何损害承担责任。有关更多详细信息,请参阅LICENSE文件。
依赖
~14–30MB
~446K SLoC