12 个版本 (6 个重大更新)
使用旧的 Rust 2015
0.7.0 | 2018 年 11 月 27 日 |
---|---|
0.6.3 | 2016 年 8 月 5 日 |
0.6.2 | 2016 年 4 月 18 日 |
0.6.1 | 2016 年 3 月 6 日 |
0.1.0 | 2015 年 11 月 19 日 |
#1017 in Web 编程
每月 54 次下载
130KB
4K SLoC
vkrs
Vkontakte API Rust 客户端库
用法
添加到您的 Cargo.toml 中
[dependencies]
vkrs = "0.6.3"
然后进行授权并使用
extern crate vkrs;
use std::{env, io};
use vkrs::*;
fn main() {
let api = api::Client::new();
let oauth = api.auth(
env::var("VK_APP_ID").unwrap(),
env::var("VK_APP_SECRET").unwrap());
let auth_uri = oauth.auth_uri(auth::Permission::Audio).unwrap();
// Or if you want to get permissions for specific request:
// let auth_uri = oauth.auth_uri_for::<audio::Search>();
println!("Go to {} and enter code below...", auth_uri);
let inp = io::stdin();
let code = {
let mut buf = String::new();
inp.read_line(&mut buf).unwrap();
buf
};
// You may want to save this token for future use to avoid asking user
// to authorize the app on each run.
let token = oauth.request_token(code.trim()).unwrap();
// The access token is JSON serializable with serde, so you can do it this way:
// File::create(TOKEN_FILE).ok().map(|mut f| serde_json::to_writer(&mut f, &token).ok()).unwrap();
//
// And then you can load it again:
// let token: auth::AccessToken = File::open(TOKEN_FILE).ok().and_then(|mut f| serde_json::from_reader(&mut f).ok()).unwrap();
let songs = api.call(Some(&token),
audio::Search::new()
.q("Poets Of The Fall")
.performer_only(true)
.count(200))
.unwrap();
for song in &songs.items {
println!("{:?}", song);
}
}
许可证
根据您的选择,许可如下:
- Apache 许可证,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则根据 Apache-2.0 许可证定义的,任何有意提交以包含在作品中的贡献,都应按上述方式双重许可,不附加任何额外的条款或条件。
依赖项
~21MB
~443K SLoC