首页 > 解决方案 > 使用 studentWorkFolder 创建课程工作

问题描述

使用 Google Classroom API,我只是想创建一个课程作业(作业),我可以在其中为该课程作业分配Drive 文件夹,然后我可以将附件上传到该特定文件夹。

我已经尝试使用他们的API Explorer在浏览器上运行,但也无法正常工作。

这是我的代码;

    const classroom = google.classroom({version: 'v1', auth});
    classroom.courses.courseWork.create({
        "courseId": assignmentCreationRequest.courseId,
          "resource": {
            "title": assignmentCreationRequest.title,
            "description": assignmentCreationRequest.description,
            "workType": "ASSIGNMENT",
            "state": "PUBLISHED",
            "topicId": assignmentCreationRequest.topicId,
            "assignment":
            {
                "studentWorkFolder": {
                  "id": "1wTM6YYAk1rp4TtsEQwjZnb3qMbR9iPbe"
                }
            }
          }
    })

该文件夹已作为父级在课堂课程文件夹中创建。

我发现创建此类文件夹的唯一方法是;创建课程作业时,添加共享模式设置为“STUDENT_COPY”的材料,然后 API 将自己创建一个文件夹。这是一种解决方法,我可以在创建文件夹后删除所有内容,但肯定有更经典的方法吗?

任何帮助将不胜感激!

标签: google-apigoogle-drive-apigoogle-classroom

解决方案


回答:

您不能将特定的、以前存在的 Drive 文件夹分配给CourseWork.

此文件夹是 Google 在创建 时自动创建的CourseWork(如果workType是)ASSIGNMENT

此外,studentWorkFolder只有在有内容可以放置的情况下才会创建,无论是学生提交的内容还是附加到课程作业的材料。

参考:

如果您检查CourseWork字段,您会看到,assignment(包含studentWorkFolder)是只读的:

assignment:分配详细信息。仅当 workType 为 ASSIGNMENT 时才会填充。

只读.

因此,该字段将被忽略。


推荐阅读