安装工作区市场应用程序后如何判断用户是否是 G Suite 域的管理员?

How to tell if a user is an admin of a G Suite domain after installing a workspace marketplace app?

我在 Google Workspace Marketplace 中有一个应用 link 连接到外部第三方 SaaS 应用,我希望能够确定用户是否是他们的管理员G Suite 域,当他们点击右上角下拉菜单中的“书签”图标 link 时。我知道服务帐户可以查询此处详述的这些 REST 端点: https://developers.google.com/workspace/marketplace/reference/rest 它提供了有关客户许可证和用户许可证的信息,但我想知道是否有办法将用户识别为他们域的管理员。

我知道安装会被跟踪并可以输入 Google 分析,但我认为这些是没有关联用户数据的匿名统计数据。并且与用户基本资料相关的信息不包括该信息(也来自 id_token)。

如有任何帮助,我们将不胜感激!

为了检查用户是否是管理员,您可以使用目录 API。

适当的方法是使用 Users.get 并使用下面的 API 请求:

GET https://admin.googleapis.com/admin/directory/v1/users/USER_EMAIL_ADDRESS

这将产生以下 User 资源正文:

{
  "id": string,
  "primaryEmail": string,
  "password": value,
  "hashFunction": string,
  "isAdmin": boolean,
  "isDelegatedAdmin": boolean,
   ...
}

如您所见,返回 isAdmin 字段,它基本上会告诉您相关用户是否确实是管理员。

备注

但是,请记住,要使用 API,您必须是管理员,或者像上面建议的那样,使用服务帐户模拟管理员。

参考