3个版本 (稳定)
1.0.1 | 2024年7月10日 |
---|---|
1.0.0 | 2024年7月9日 |
0.5.0 | 2024年7月9日 |
#428 in 异步
32KB
729 行
Ticks
TickTick Open API的简单、直观的Rust封装
入门
首先,在TickTick开发者中心注册您的应用程序
要开始使用TickTick Open API,您需要注册应用程序并获取客户端ID和客户端密钥。您可以通过访问TickTick开发者中心来注册应用程序。注册后,您将收到客户端ID和客户端密钥,您将使用它们来验证您的请求。
注册应用程序后,将ticks
添加到项目的Cargo.toml
cargo add ticks
要使用TickTick API,您必须在运行时授权应用程序。让我们谈谈 授权。
授权
TickTick API使用OAuth进行身份验证。Ticks为您处理大部分身份验证,仅留下读取API的HTTP OAuth响应给您。
/// Get Authorization URL, this is the link the user must visit to allow our Application access to their account.
/// redirect_uri must be the same URL specified in the TickTick Developer Center.
let auth = Authorization::begin_auth(/* client_id */, /* redirect_uri */)?;
println!("Browse to: {:?}", auth.get_url());
/// Wait for response from TickTick's API. TickTick will send the required auth info over HTTP to the redirect_uri we specified.
let (access_code, state) = /* Get access_code & state from redirect_uri over HTTP */;
/// Get access token
let token = auth.finish_auth({client_secret}, code, state).await?;
/// Done! Create TickTick instance using AccessToken.
let ticktick = TickTick::new(token.clone())?;
为了测试,您可能希望将您的redirect_uri设置为localhost
。要本地读取OAuth HTTP响应,尝试一个TcpListener
let listener = TcpListener::bind("127.0.0.1:{port of redirect_uri}")?;
let (mut stream, _) = listener.accept()?;
let mut stream_reader = BufReader::new(&stream);
let mut response = String::new();
stream_reader.read_line(&mut response)?;
stream.write_all("HTTP/1.1 200 OK".as_bytes())?;
println!("Response {:?}", response);
文档
文档可以在https://docs.rs/ticks/latest找到。
依赖
~8–20MB
~308K SLoC