安装工作区市场应用程序后如何判断用户是否是 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,您必须是管理员,或者像上面建议的那样,使用服务帐户模拟管理员。
参考
我在 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,您必须是管理员,或者像上面建议的那样,使用服务帐户模拟管理员。