【问题标题】:Create courseWork with studentWorkFolder使用 studentWorkFolder 创建课程工作
【发布时间】:2021-03-05 17:26:16
【问题描述】:

使用 Google Classroom API,我只是尝试create a coursework(作业),在那里我可以为该课程分配Drive folder,然后我可以将附件上传到该特定文件夹中。

我已经用他们的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-api google-drive-api google-classroom


    【解决方案1】:

    答案:

    您不能将以前存在的特定云端硬盘文件夹分配给CourseWork

    如果workTypeASSIGNMENT,Google 在创建CourseWork 时会自动创建此文件夹。

    此外,studentWorkFolder 仅在有要放置的内容时才会创建,无论是附加到课程作业的 studentSubmissionMaterial

    参考:

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

    作业:作业详情。仅当 workType 为 ASSIGNMENT 时才会填充。

    只读

    因此,该字段将被忽略。

    【讨论】:

    • 我尝试过不分配特定的、以前存在的 Drive 文件夹,但这不起作用。创建作业后,不会自动为该作业创建文件夹,除非有学生提交或附件。我可以为新创建的分配修改附件,因为没有创建这样的文件夹。这是创建分配后触发文件夹创建的一种方式吗?
    • @smkso studentWorkFolder 只会在有内容放置在那里时创建,无论是附加到课程作业的studentSubmissionMaterial。如果您认为这不适合您的情况,我建议您在问题跟踪器中提交功能请求。
    • @lamblichus 我现在明白了。我找到了一种适合我的情况的方法。谢谢
    • @smkso 不客气。如果它确实回答了您的问题,请考虑accepting this answer。它可能对其他有同样问题的人有用。另外,请考虑发布另一个答案来解释您遵循的解决方法。
    【解决方案2】:

    正如@lamblichus 回答的那样,创建courseWork 时无法分配特定文件夹。

    studentWorkFolder 只会在以下情况下创建;

    1. 您提供的材料将shareMode 设置为STUDENT_COPY
    2. 当学生提交其提交的附件时。

    对于我的情况,对于每次提交,我想 modifyAttachments 使用自定义文件,我创建了一个名为 course 的文件夹,然后将所有附件放入具有正确权限的文件夹中,然后使用 modifyAttachments 我将文件 ID 添加到提交 ID。这仍然不会创建studentWorkFolder,但我可以为每个学生创建modifyAttachments

    如果我要添加materials,其中shareModeSTUDENT_COPY,这将创建包含文件的studentWorkFolder,那么我将删除文件夹的所有内容;这意味着我将拥有一个studentWorkFolder,但是在courseWork 上,所附材料仍然可用/显示。 patch 不允许更新 materials

    我希望这对那些也有类似情况的人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      相关资源
      最近更新 更多