我在 Google Workspace 组织中拥有管理员权限,并且我想使用 Google Apps 脚本中的
Classroom API
邀请外部用户 (@gmail.com) 作为课堂课程的学生。
目前我正在使用此代码邀请任何用户:
Classroom.Invitations.create({
"userId": email,
"courseId": courseId,
"role": "STUDENT"
});
如果电子邮件属于我组织的域,则可以正常工作,但如果我使用 @gmail.com 帐户尝试相同的代码,脚本将返回:
GoogleJsonResponseException:对classroom.invitations.create的API调用失败并出现错误:调用者没有权限
我确实可以在 Google Classroom 中手动添加它,但它无法通过 Apps 脚本运行。可能值得一提的是,课堂的所有者帐户不是我的帐户,而是我域内的另一个帐户,并且我正在使用的脚本位于共享驱动器内。
已解决(感谢 Saddles):要使其正常工作,尝试邀请学生的管理员帐户必须注册为课程的教师。
对 Google Workspace 帐户进行一些测试后,要使用 Google Apps 脚本将
@gmail.com
用户添加到教室,请确保管理控制台中的 Who can join classes in your domain?
设置已设为 Any user
。
然后,将
Super Admin
添加为 Google 课堂中的 co-teacher
,否则会出现错误 GoogleJsonResponseException: API call to classroom.invitations.create failed with error: The caller does not have permission
。