Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌教室-以编程方式创建作业_Google Apps Script_Google Classroom - Fatal编程技术网

Google apps script 谷歌教室-以编程方式创建作业

Google apps script 谷歌教室-以编程方式创建作业,google-apps-script,google-classroom,Google Apps Script,Google Classroom,我正在使用谷歌应用程序脚本为教室创建一个上传文档的作业。但是,有一个错误 执行失败:接收到无效的JSON负载。无名 “课程作业.材料[0]”处的共享模式:找不到字段。无效的 接收到JSON有效负载。未知名称id位于 “课程作业。材料[0]。驱动器文件”:找不到字段。无效的JSON 收到有效载荷。未知名称标题位于 “课程作业。材料[0]。驱动器文件”:找不到字段。第2行, 文件测试[0.061秒总运行时间] 这是我的密码。我知道错误在材料上,但我不确定我做错了什么 function myFunct

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

执行失败:接收到无效的JSON负载。无名 “课程作业.材料[0]”处的共享模式:找不到字段。无效的 接收到JSON有效负载。未知名称id位于 “课程作业。材料[0]。驱动器文件”:找不到字段。无效的JSON 收到有效载荷。未知名称标题位于 “课程作业。材料[0]。驱动器文件”:找不到字段。第2行, 文件测试[0.061秒总运行时间]

这是我的密码。我知道错误在材料上,但我不确定我做错了什么

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);
}
根据文档,Drivefile属性标题标记为只读。只要用身份证就行了

根据文档,Drivefile属性标题标记为只读。只要用身份证就行了


找出你问题的根源。我已经更新了你的代码,使之生效

请求:

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);
}
结果:

我们接收到无效的JSON有效负载。因为请求的格式化是错误的。这比我想象的要复杂一点,这就是为什么我尝试使用查看请求格式,它确实帮助我解决了您的问题


希望这有帮助。

找到了问题的根源。我已经更新了你的代码,使之生效

请求:

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);
}
结果:

我们接收到无效的JSON有效负载。因为请求的格式化是错误的。这比我想象的要复杂一点,这就是为什么我尝试使用查看请求格式,它确实帮助我解决了您的问题


希望这有帮助。

可以发送以下ajax请求来创建分配。下面的代码是为Angular编写的,但是可以很容易地转换为jQuery脚本。您可以构建自己的courseWork对象,该对象作为ajax请求的“数据”传递,以查看完整的对象结构


可以发送以下ajax请求来创建分配。下面的代码是为Angular编写的,但是可以很容易地转换为jQuery脚本。您可以构建自己的courseWork对象,该对象作为ajax请求的“数据”传递,以查看完整的对象结构


谢谢你的回复!现在出现了这个错误,[17-03-28 13:45:37:048 HKT]执行失败:接收到无效的JSON负载。“课程作业.材料[0]”处的未知名称共享模式:找不到字段。接收到无效的JSON负载。“课程作业.材料[0].驱动器文件”处的名称id未知:找不到字段。第2行,文件测试[0.046秒总运行时间]感谢您的回复!现在出现了这个错误,[17-03-28 13:45:37:048 HKT]执行失败:接收到无效的JSON负载。“课程作业.材料[0]”处的未知名称共享模式:找不到字段。接收到无效的JSON负载。“课程作业.材料[0].驱动器文件”处的名称id未知:找不到字段。第2行,文件测试[0.046秒总运行时间]union和驱动器资源均命名为“driveFile”。似乎是多余的和令人困惑的。@Spenceaston我同意这是多余的和令人困惑的。也许一个功能请求可以解决这个问题。union和驱动器资源都被命名为“driveFile”。似乎是多余的和令人困惑的。@Spenceaston我同意这是多余的和令人困惑的。也许一个功能请求可以解决这个困惑。这可以在没有Ajax的情况下完成吗?不管是什么-只是普通的Google应用程序脚本?这可以在没有Ajax的情况下完成吗?不管是什么-只是普通的Google应用程序脚本?