#api #trading #tdameritrade

已删除 tdameritrade_rust-async

一个用于TD Ameritrade API的完全自动化的非官方异步Rust库

0.1.0 2022年9月20日

#165 in #trading

MIT 许可证

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