Google Apps 有几个内置“角色”,它们有权为您的域/组织执行任务,例如帮助台管理员、群组管理员或超级用户管理员。 在这里找到它们。
我们有一个控制台,允许 Google 管理员管理该组织/域中的哪些用户应该能够访问我们的应用程序,并且我们希望将对该控制台的访问限制为仅对那些对控制台上的任务具有必要权限的管理员.
但是,我根本找不到一种方法来确定登录用户是否具有这些必要的权限,而只是尝试几个呼叫并查看它们是否有效。尽管它是一个不同的 Google API,但这正是他们告诉 Google Analytics 开发人员在这里做的事情。
检索授权用户的权限
您可以通过对帐户、Web 属性或视图(配置文件)资源执行列表或获取操作来检索当前授权用户的权限信息。
要执行这些操作,用户必须授权以下任一范围: ....
当您从 Google Directory API (/admin-sdk/directory/v1/reference/users) 获取用户列表时,它只有两个关于管理员权限的属性,isAdmin 和 isDelegatedAdmin。isAdmin 对超级用户为真,对其他所有人为假。isDelegatedAdmin 对于上面链接中提到的这些其他类型的管理员角色是正确的。但是似乎没有任何方法可以检索更具体的管理员角色,即使可以,组织也可以创建自定义管理员角色,这意味着您确实需要检查细粒度权限而不仅仅是角色。
有没有人以比尝试调用所有必要的 API 来查看是成功还是失败更有效的方式解决了这个问题?我已经广泛搜索了一天的大部分时间,但找不到更好的解决方案。