安装工作区市场应用程序后,如何判断用户是否是 G Suite 域的管理员? 为了检查用户是否是管理员,您可以使用 Directory API注意参考

问题描述

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

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

任何帮助将不胜感激!

解决方法

为了检查用户是否是管理员,您可以使用 Directory 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,您必须是管理员,或者,就像您上面建议的那样,使用服务帐户模拟管理员。

参考