#user #user-group #google #api-client #admin #resources #client-token

gsuite-api

适用于 Google Admin API 的完全生成且具有偏见的 API 客户端

47 个版本

0.7.0 2023年7月19日
0.6.0 2023年3月31日
0.5.1 2022年11月18日
0.4.1 2022年7月13日
0.1.4 2020年7月10日

#5 in #client-token

Download history 35/week @ 2024-04-22 64/week @ 2024-04-29 78/week @ 2024-05-06 59/week @ 2024-05-13 19/week @ 2024-05-20 42/week @ 2024-05-27 10/week @ 2024-06-03 9/week @ 2024-06-10 14/week @ 2024-06-17 22/week @ 2024-06-24 1/week @ 2024-07-01 17/week @ 2024-07-08 23/week @ 2024-07-15 35/week @ 2024-07-22 85/week @ 2024-07-29 144/week @ 2024-08-05

每月下载量 287

MIT 许可证

495KB
10K SLoC

gsuite-api

适用于 Google Admin 的完全生成、具有偏见的 API 客户端库。

docs.rs

API 详情

管理员 SDK 允许企业域管理员查看和管理用户、组等资源。它还提供域的审计和用量报告。

API 服务条款

联系方式

姓名 网址
Google https://google.com

许可证

姓名 网址
创意共享署名 3.0 http://creativecommons.org/licenses/by/3.0/

客户端详情

此客户端基于 API 规范版本 directory_v1Google Admin OpenAPI 规范 生成。这样,随着功能的添加,它将保持最新。文档与代码一起生成,以便于使用此库。

要安装库,请在您的 Cargo.toml 文件中添加以下内容。

[dependencies]
gsuite-api = "0.7.0"

基本示例

典型使用需要初始化一个 Client。这需要用户代理字符串和一组凭证。

use gsuite_api::Client;

let google admin = Client::new(
    String::from("client-id"),
    String::from("client-secret"),
    String::from("redirect-uri"),
    String::from("token"),
    String::from("refresh-token")
);

或者,库可以在环境中搜索客户端所需的大部分变量

  • GOOGLE ADMIN_CLIENT_ID
  • GOOGLE ADMIN_CLIENT_SECRET
  • GOOGLE ADMIN_REDIRECT_URI

然后您可以从环境中创建一个客户端。

use gsuite_api::Client;

let google admin = Client::new_from_env(
    String::from("token"),
    String::from("refresh-token")
);

可以为 tokenrefresh_token 传递空值。在客户端的初始状态下,您将不知道这些值。

要启动一个全新的客户端并获取 tokenrefresh_token,请使用以下命令。

use gsuite_api::Client;

async fn do_call() {
    let mut google admin = Client::new_from_env("", "");

    // Get the URL to request consent from the user.
    // You can optionally pass in scopes. If none are provided, then the
    // resulting URL will not have any scopes.
    let user_consent_url = google admin.user_consent_url(&["some-scope".to_string()]);

    // In your redirect URL capture the code sent and our state.
    // Send it along to the request for the token.
    let code = "thing-from-redirect-url";
    let state = "state-from-redirect-url";
    let mut access_token = google admin.get_access_token(code, state).await.unwrap();

    // You can additionally refresh the access token with the following.
    // You must have a refresh token to be able to call this function.
    access_token = google admin.refresh_access_token().await.unwrap();
}

依赖关系

~22–37MB
~721K SLoC