如何使用Apps Script为Google Classroom启用禁止迟交状态
解决Google Classroom Apps Script设置禁止迟交作业的问题
你的代码报错是因为Apps Script的Classroom服务中,CourseWork对象并没有setLateSubmissionPolicy这个方法,正确的做法是直接给对象的lateSubmissionPolicy属性赋值,或者在创建作业时通过配置对象传递该参数。
正确代码示例
方式一:分步构造对象
// 创建CourseWork对象 var classWork = Classroom.newCourseWork(); // 配置作业基础必填属性 classWork.title = "数学作业"; classWork.description = "完成第三章习题1-10"; classWork.workType = "ASSIGNMENT"; // 必须指定为ASSIGNMENT类型,才支持迟交政策 // 设置禁止迟交的政策 classWork.lateSubmissionPolicy = Classroom.newLateSubmissionPolicy(); classWork.lateSubmissionPolicy.lateSubmissionPolicyState = "NO_LATE_SUBMISSIONS"; // 替换为你的目标课程ID,调用创建接口 var courseId = "123456789"; Classroom.Courses.CourseWork.create(classWork, courseId);
方式二:直接构造配置对象(更简洁)
var courseId = "123456789"; var classWorkConfig = { title: "数学作业", description: "完成第三章习题1-10", workType: "ASSIGNMENT", lateSubmissionPolicy: { lateSubmissionPolicyState: "NO_LATE_SUBMISSIONS" } }; Classroom.Courses.CourseWork.create(classWorkConfig, courseId);
关键注意事项
- 必须将
workType设置为ASSIGNMENT:只有作业类型支持迟交政策,问答、材料等类型不支持该配置。 - 提前启用Classroom服务:在Apps Script编辑器中,点击左侧「服务」→「添加服务」,找到并添加Classroom服务。
- 权限验证:确保你的账号拥有目标课程的编辑权限,否则无法创建作业或修改政策。
内容的提问来源于stack exchange,提问作者Raghu
相关产品推荐
相关产品推荐

