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 编程

Download history 2/week @ 2024-03-09 53/week @ 2024-03-30 1/week @ 2024-04-06 1/week @ 2024-04-20 1/week @ 2024-04-27

每月 54 次下载

MIT/Apache

130KB
4K SLoC

vkrs

Vkontakte API Rust 客户端库

Join the chat at https://gitter.im/kstep/vkrs Travis CI build status Downloads Version License MIT/Apache-2.0 Code coverage at Coveralls Issue Stats Issue Stats

文档

用法

添加到您的 Cargo.toml 中

[dependencies]
vkrs = "0.6.3"

然后,在 vk.com添加您的应用

然后进行授权并使用

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 许可证定义的,任何有意提交以包含在作品中的贡献,都应按上述方式双重许可,不附加任何额外的条款或条件。

依赖项

~21MB
~443K SLoC