2 个不稳定版本

0.2.0 2021 年 5 月 18 日
0.1.0 2021 年 5 月 17 日

#27#auth-token

MIT 许可证

35KB
727

use-github-api-rs

CI Status Issues open

一个用于 Rust 的 GitHub API 客户端。

警告!

这个软件包 100% 不稳定。目前几乎所有有用的功能都缺失。目前,这个软件包主要是骨架。可能会不断发生破坏性变更。尽管如此,这个软件包仍然遵循 SemVer。但是,由于这个库仍然在 0.x 版本,破坏性变更发生在 次版本。如果您发现任何错误,请报告它们。请不要提交与端点相关的功能请求,因为已经有许多类似的请求了。提交与身份验证相关或 API 使用相关的请求(添加新的软件包功能、公开字段等)是完全可以的。

示例

use use_github_api::{GithubClient, schema::users::list};

let client = GithubClient::builder().auth(env!("GITHUB_TOKEN")).build().unwrap();
let data: Vec<list::User> = client.users().list(list::Params {
    per_page: Some(50),
    since: None,
});
println!("{:?}", data);
// Go to https://api.github.com/users and the response you see there will be the response you see here, minus all of the URL fields.

身份验证

建议使用身份验证,默认开启。要禁用,请在 use-gitub-api = { version = "[version]", no-default-features = true }Cargo.toml 中。没有身份验证,您无法做很多事情。

获取身份验证令牌

要获取身份验证令牌,您需要前往 GitHub 设置 并在那里生成一个令牌。然后,设置一个环境变量并使用它通过库进行身份验证。

软件包功能

目标

  • 易于使用的 API
  • 支持企业版和普通 GitHub
  • 支持预览功能(搜索提交 API 等)
  • 在认为合适时更改响应模式(删除 URL 等)
  • 测试事物

待办事项(按优先级排序)

auth 表示需要身份验证,而 auth? 表示将执行某些操作,但不是必需的。

  • 完成客户端
    • 可能支持 GitHub AE(一旦退出预览)
  • 开始创建 API
    • 创建 users 模块
      • 基本操作
        • 列出用户
        • 获取单个用户 - auth?
        • 获取用户上下文信息(基于上下文)- auth
        • GET和PATCH当前用户 - auth
      • 用户封禁 - auth
      • 电子邮件 - auth
      • 关注者 - auth
      • SSH密钥 - auth
      • GPG密钥 - auth
      • 为上述所有内容创建响应模式
    • 创建repo模块
  • 优化错误
  • 处理速率限制

依赖项

~4–17MB
~250K SLoC