Crates.io | open_secrets |
lib.rs | open_secrets |
version | 0.1.4 |
source | src |
created_at | 2021-12-31 19:26:31.739297 |
updated_at | 2023-10-23 06:31:36.761254 |
description | A client wrapper for the Open Secrets REST API |
homepage | https://github.com/populist-vote/open-secrets |
repository | https://github.com/populist-vote/open-secrets |
max_upload_size | |
id | 505901 |
size | 18,699 |
A wrapper for the OpenSecrets REST API
https://docs.rs/legiscan/latest/open-secrets/
To get started, you'll need to instantiate a OpenSecretsProxy in your program. You have two options:
use open_secrets::OpenSecretsProxy;
// If you have a `LEGISCAN_API_KEY` set in your .env or environment
let proxy = OpenSecretsProxy::new().unwrap();
// If you want to pass in the API key from elsewhere
let proxy = OpenSecretsProxy::new_from_key(your_api_key);
If you, for some strange reason, want your response output as something besides JSON, you can adjust the output type like so:
use open_secrets::OutputType::Doc;
proxy.with_output(Doc);
Now you're ready to make some calls to OpenSecrets.
// Lets get Nancy Pelosi's summary
let response = proxy.cand_summary("N00007360", None).await.unwrap();
let json: serde_json::Value = response.json().await.unwrap();
assert_eq!(
json["response"]["summary"]["@attributes"]["cand_name"],
"Pelosi, Nancy"
);