24 个稳定版本 (4 个主要版本)

5.1.2 2024 年 4 月 12 日
5.0.6 2024 年 4 月 4 日
4.0.4 2023 年 6 月 20 日
4.0.3 2022 年 11 月 13 日
1.0.1 2022 年 10 月 1 日

#849 in Web 编程

每月下载量 26
用于 wacr

MIT/Apache

40KB
832

VK API 客户端

这是一个 VK API 客户端的纯 Rust 实现。客户端支持 zstd 压缩和 VK API 的 msgpack 格式。它仅与 http2 连接一起工作。

支持的功能

  • API 请求
  • 长轮询
  • 上传文件

请参阅库文档VK API 文档以获取更多信息。

用法

use vkclient::VkApi;

fn main() {
    let client: VkApi = vkclient::VkApiBuilder::new(access_token).into();
    ..
}
use vkclient::{VkApi, VkApiResult, List};
use serde::{Deserialize, Serialize};

async fn get_users_info(client: &VkApi) -> VkApiResult<Vec<UsersGetResponse>> {
    client.send_request("users.get", UsersGetRequest {
        user_ids: List(vec![1,2]),
        fields: List(vec!["id", "sex"]),
   }).await
}

#[derive(Serialize)]
struct UsersGetRequest<'a> {
    user_ids: List<Vec<usize>>,
    fields: List<Vec<&'a str>>,
}

#[derive(Deserialize)]
struct UsersGetResponse {
    id: i64,
    first_name: String,
    last_name: String,
    sex: u8,
}

依赖项

~3–17MB
~269K SLoC