首页 > 解决方案 > 安装工作空间市场应用程序后如何判断用户是否是 G Suite 域的管理员?

问题描述

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

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

任何帮助将不胜感激!

标签: google-apigoogle-oauthgoogle-apps-marketplace

解决方案


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

参考


推荐阅读