3 个版本
0.2.2 | 2023年9月26日 |
---|---|
0.2.1 | 2022年4月15日 |
0.2.0 | 2021年12月25日 |
0.1.6 |
|
#21 in #queries
23 monthly downloads
59KB
1.5K SLoC
VoteSmart
围绕 VoteSmart REST API 的 Rust 包装器
文档
https://docs.rs/votesmart/latest/votesmart/
快速开始
要开始使用,您需要在程序中实例化一个 VoteSmartProxy。您有两个选择
use votesmart::VotesmartProxy
// If you have a `VOTESMART_API_KEY` set in your .env or environment
let proxy = VotesmartProxy::new().unwrap();
// If you want to pass in the API key from elsewhere
let proxy = VotesmartProxy::new_from_key(your_api_key);
从那里,VoteSmart 的每个对象都是从您刚刚实例化的代理中命名空间的,因此您可以使用以下查询运行
let candidate_id = 53279 // Joe Biden
let response = proxy.candidate_bio().get_detailed_bio(candidate_id).await?;
if response.status().is_success() {
let json: serde_json::Value = response.json().await?;
// Do whatever you want with this data
} else {
panic!("Something went wrong fetching Joe Biden's bio");
}
类型
这是一个正在进行中的工作,但最终所有 VoteSmart 对象的响应都将被输入到它们自己的结构体中。请参阅 src/types 作为示例。遗憾的是,一些 VoteSmart 响应的类型并不总是一致的,这取决于您查询的内容,因此某些模糊字段可以类型化为 serde_json::Value
依赖关系
~10–26MB
~428K SLoC