# `rvk`
[](https://crates.io/crates/rvk)
[](https://crates.io/crates/rvk)
[](https://github.com/u32i64/rvk/blob/master/LICENSE)
A crate for accessing VK API in Rust (synchronously).
# Usage
Add the dependency to your `Cargo.toml` file:
```toml
[dependencies]
rvk = "0.2"
```
Also, add this line to your crate:
```rust
extern crate rvk;
```
Now you can take a look at this crate's [API documentation](https://docs.rs/rvk) to learn more about the available functions.
# Example
```rust
extern crate rvk;
use rvk::{methods::*, APIClient, Params};
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
use serde_json::from_value;
#[derive(Deserialize)]
struct User {
id: u64,
first_name: String,
last_name: String,
}
fn main() {
let api = APIClient::new("your_access_token"); // Create an API Client
let mut params = Params::new(); // Create a HashMap to store parameters
params.insert("user_ids", "1");
let res = users::get(&api, params);
match res {
Ok(v) => { // v is `serde_json::Value`
let users: Vec<User> = from_value(v).unwrap();
let user = &users[0];
println!(
"User #{} is {} {}.",
user.id, user.first_name, user.last_name
);
}
Err(e) => println!("{}", e),
};
}
```