google-classroom - 要设置哪些管理员角色设置才能访问域的 Google Classroom API?
问题描述
我们正在尝试创建一个单独的管理员角色来分配给用户,以便能够调用 Google Classroom API(域)。如果我们将它们设置为“超级管理员”,它可以工作,但我们不想给这些用户超级管理员权限。任何人都知道对此进行设置的任何指南或设置吗?
解决方案
回答:
除此之外,没有任何角色Super Admin
可以让用户进行所有这些操作。您可以通过为用户分配自定义管理员角色来检查。即使检查了所有可能的权限,如果用户不是Super Admin
,则用户无法在 Classroom API 中充当域管理员。
非超级管理员可以做什么:
非超级管理员用户只能访问他们所属的课程(作为教师或学生),而不是域中的所有课程。
他们可以通过course.teachers.delete和courses.students.delete直接从他们拥有的课程中删除学生和其他教师,但他们不能通过courses.teachers.create和course.students.create直接将新学生和教师添加到他们的课程中。只有域管理员(超级管理员)才能做到这一点。非管理员必须先通过invitations.create()发送邀请,并征得用户同意。
更新:服务帐户:
您还可以让您的应用程序使用服务帐户来模拟超级管理员,以便此帐户可以代表此管理员执行操作,并执行管理员可以执行的操作。为此,您必须通过访问管理控制台并按照此处指定的步骤来创建服务帐户并向其委派域范围的权限。
请注意,授予域范围委派是一个非常强大的工具,因为它使服务帐户能够代表域中的任何用户进行操作,因此如果不小心管理它很容易被滥用(没有域范围委派,一个Service Account和普通账号类似,只能访问自己创建的、共享的资源等,和普通账号一样)。
无论如何,一旦创建了域范围的委派,在您的应用程序中使用服务帐户与使用普通帐户非常相似。在应用程序中,您必须构建凭据,然后通过写入用户的电子邮件地址来指定帐户应模拟哪个用户。我不知道您使用的是哪种语言,但您可以在此处找到用 Java 和 Python 执行此操作的代码片段,或在此处使用 Node 。
参考:
推荐阅读
- azure - 为 VMSS 添加 Azure 诊断设置
- python - 为什么我的 pandas DataFrame 只显示列名
- mingw-w64 - 如何使用 objdump 将整个二进制文件反汇编为文件?
- python - 如何过滤django数据库中的模型
- c++ - 我的 linux 代码检查内存使用情况有问题吗?
- mysql - Mysql根据条件映射列名
- python - 有什么方法可以加载测试 TCP/IP 节点套接字服务器
- swift - Flutter + Swift:目标支持文件错误
- android - 在运行主题期间更改主题时无法正确应用
- c# - 当我单击打开时,将我使用 wpf 中的对话框打开的 excel 文件加载到数据网格中