#open-api #api #api-wrapper #tasks #api-client #ticktick

ticks

TickTick Open API的简单、直观的Rust封装

3个版本 (稳定)

1.0.1 2024年7月10日
1.0.0 2024年7月9日
0.5.0 2024年7月9日

#428 in 异步

MIT 许可证

32KB
729

Ticks

TickTick Open API的简单、直观的Rust封装

docs.rs

入门

首先,在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