google-api - 安装工作空间市场应用程序后如何判断用户是否是 G Suite 域的管理员?
问题描述
我在 Google Workspace Marketplace 中有一个应用程序链接到外部第三方 SaaS 应用程序,我希望在用户点击右上角的下拉菜单。我知道服务帐户可以查询此处详述的这些 REST 端点: https ://developers.google.com/workspace/marketplace/reference/rest 它提供了有关客户许可证和用户许可证的信息,但我想知道是否有办法将用户标识为其域的管理员。
我知道安装会被跟踪并且可以输入谷歌分析,但我认为这些是没有相关用户数据的匿名统计数据。并且与用户基本资料相关的信息不包括该信息(也由 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,您必须是管理员,或者就像您上面建议的那样,使用服务帐户模拟管理员。
参考
推荐阅读
- pandas - 使用 groupby 添加标志列顶部/底部 N 值
- flutter - 为什么当我在其小部件中调用 Flutter 有状态小部件时,它没有改变另一个有状态小部件的状态
- java - 如何使用 Maven 插件制作包含资源的可执行 jar
- excel - Excel - 获取最后一场比赛
- python - 在 Python 中使用多处理填充多个列表
- java - 使用 spring-boot 将多维数据集插入 postgres 数据库
- qt - 在 microsoft visual studio 2019 中生成 moc 文件
- vba - 如何根据特定单元格上的值在 Excel 中触发 VBA 宏?
- design-patterns - 使用字符串与枚举作为工厂方法的参数?
- reactjs - Flow Cadence 未能在执行节点上执行脚本:rpc error: code = DeadlineExceeded desc = context deadline exceeded