You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Google Classroom API的StudentSubmissions.turnIn()时遇403权限错误怎么办?

问题解答

核心结论

是的,你必须获取对应学生的授权才能调用turnIn接口代其提交作业。

权限原因说明

Google Classroom的courses.courseWork.studentSubmissions.turnIn接口权限规则明确:仅作业提交的所有者(学生本人)或G Suite/Workspace超级管理员能执行该操作。你当前用创建作业的教师账号调用接口,教师账号本身没有替学生提交作业的权限——哪怕作业是你创建的也不行,这是API的权限隔离设计。

可行解决方案

  • 若要坚持代学生提交,需让每个学生授权你的应用,获取classroom.coursework.me或classroom.coursework.students权限范围,但这种方式需要逐个学生授权,操作成本较高。
  • 换思路:在Classroom作业设置中开启「允许教师标记为已提交」(部分教育版Workspace支持该功能),然后用教师账号调用patch接口更新学生提交状态为TURNED_IN,替代turnIn接口的使用。
  • 不推荐方案:用OAuth2库模拟学生身份运行脚本,但这需要存储学生授权信息,存在安全风险,不符合数据合规要求。

代码相关提示

你当前的调用代码:

response = subs.turnIn({},courseId,courseWorkId,response.studentSubmissions[0].id);

因使用教师身份触发,必然触发403权限错误,需切换到学生授权的身份或改用上述替代方案。

内容的提问来源于stack exchange,提问作者Edward Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 22:39:51