【问题标题】:G Suite - get my own group memberships via API call?G Suite - 通过 API 调用获得我自己的群组成员资格?
【发布时间】:2020-03-31 14:50:37
【问题描述】:

我的普通非管理员 G Suite 用户需要(以编程方式)确定他们是否在特定的 G Suite 组中。

计划 A - G Suite 管理员 SDK

看起来可以通过这个调用来做到这一点:

https://admin.googleapis.com/admin/directory/v1/groups/developers@example.com/hasMember/max@example.com

这不起作用。如果我以管理员身份进行身份验证,它可以工作。但是,如果我以 max@example.com 身份进行身份验证(注意:我将所有相关范围添加到令牌请求中),我会收到 403“未授权访问此资源/api”。

是否有意让用户无法通过 G Suite Admin SDK 查询自己的群组成员资格?

B 计划 - Google People API

我试过这个 API:

https://people.googleapis.com/v1/people/me?personFields=memberships

这会返回成功的 200 响应,但组成员身份不在其中。响应是这样的,基本上是该 API 的标准空响应:

{
  "resourceName": "people/107804923746527240895",
  "etag": "%EgMBNy4aBEAABQc="
}

我可以调用哪个 API 来确定我是否在一个组中?

【问题讨论】:

    标签: google-api google-admin-sdk google-workspace google-people-api


    【解决方案1】:

    是否有意让用户无法通过 G Suite Admin SDK 查询自己的群组成员资格?

    顾名思义 - 它是一个 Admin 软件开发工具包 - 专为管理员设计。所以很遗憾,非管理员用户无法访问。

    组成员身份不在其中

    不幸的是,People API 只会返回您

    "domainMembership": {
            "inViewerDomain": true
          }
    

    如果您是管理员 - 那么对您来说再次没有用处。

    结论 - 用户目前无法查看他的组成员身份

    但是,Google Public Issue Tracker 允许您提交 feature requests。这样您就可以让 Google 知道缺少一项重要功能,并且用户要求实施该功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 2019-08-16
      相关资源
      最近更新 更多