Google Classroom - 以编程方式创建作业

cho*_*opz 1 google-apps-script google-classroom

我正在使用谷歌应用程序脚本为教室创建带有上传文档的作业。但是,有一个错误。

执行失败:收到无效的 JSON 负载。“course_work.materials[0]”处的未知名称“share_mode”:找不到字段。收到无效的 JSON 负载。“course_work.materials[0].drive_file”处的未知名称“id”:找不到字段。收到无效的 JSON 负载。“course_work.materials[0].drive_file”处的未知名称“标题”:找不到字段。(第 2 行,文件“TEST”)[总运行时间 0.061 秒]

这是我的代码。我知道错误所在materials,但我不确定我做错了什么。

function myFunction() {
  var exec = Classroom.Courses.CourseWork.create({
    title: "Test File",
    state: "DRAFT",
    materials: [
      {
        driveFile: {id: "1ENk55RMtApIydyPFe0uyuhmu6nSV4", title: "Test File"},
        shareMode: "STUDENT_COPY"
      }
      ],
    workType: "ASSIGNMENT"
  }, "3896298178");
  Logger.log(exec);
}
Run Code Online (Sandbox Code Playgroud)

Mr.*_*bot 5

找到了你问题的根源。我已经更新了您的代码以使其正常工作。

要求:

function myFunction() {
  var ClassSource =  {
    title: "Test File",
    state: "DRAFT",
    materials: [
      {
        driveFile:{
        driveFile: {
          id: "fileID", 
          title: "Sample Document"

        },
        shareMode: "STUDENT_COPY"
        }

      }
      ],
    workType: "ASSIGNMENT"
  };

  Classroom.Courses.CourseWork.create(ClassSource, COURSEID)
  //Logger.log(exec);
}
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

我们收到Invalid JSON payload received.是因为请求的格式错误。它比我想象的要复杂一点,这就是为什么我尝试使用Try this API来查看请求格式,它确实帮助我解决了您的问题。

希望这可以帮助。