您的用户是通过 Google Meet 使用 Google 课堂吗?请查看 Apps 脚本快速入门 - 了解如何在 Google Meet 课程中查看学生出席情况

REST Resource: courses.courseWork

资源:CourseWork

由教师为课程的学生创建课程作业。

JSON 表示法
{
  "courseId": string,
  "id": string,
  "title": string,
  "description": string,
  "materials": [
    {
      object (Material)
    }
  ],
  "state": enum (CourseWorkState),
  "alternateLink": string,
  "creationTime": string,
  "updateTime": string,
  "dueDate": {
    object (Date)
  },
  "dueTime": {
    object (TimeOfDay)
  },
  "scheduledTime": string,
  "maxPoints": number,
  "workType": enum (CourseWorkType),
  "associatedWithDeveloper": boolean,
  "assigneeMode": enum (AssigneeMode),
  "individualStudentsOptions": {
    object (IndividualStudentsOptions)
  },
  "submissionModificationMode": enum (SubmissionModificationMode),
  "creatorUserId": string,
  "topicId": string,
  "gradeCategory": {
    object (GradeCategory)
  },

  // Union field details can be only one of the following:
  "assignment": {
    object (Assignment)
  },
  "multipleChoiceQuestion": {
    object (MultipleChoiceQuestion)
  }
  // End of list of possible types for union field details.
}
字段
courseId

string

课程的标识符。

只读。

id

string

此课程作业指定的 Google 课堂标识符,且该 ID 在每个课程中都具有唯一性。

只读。

title

string

本课程的名称。标题必须是包含 1 到 3000 个字符的有效 UTF-8 字符串。

description

string

本课程的可选说明。如果设置,说明必须是长度不超过 30000 个字符的有效 UTF-8 字符串。

materials[]

object (Material)

其他资料。

CourseWork 中包含的材质项不得超过 20 个。

state

enum (CourseWorkState)

本课程状态。如果未指定该属性,则默认状态为 DRAFT

creationTime

string (Timestamp format)

创建此课程作业时的时间戳。

只读。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式且采用纳秒分辨率(最多 9 个小数位)的时间戳。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

此课程最新更改的时间戳。

只读。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式且采用纳秒分辨率(最多 9 个小数位)的时间戳。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

dueDate

object (Date)

选择性提交此课程作业的日期(采用世界协调时间), 如果指定了 dueTime,则必须指定此参数。

dueTime

object (TimeOfDay)

在该课程中提交作业的时间(可选)以世界协调时间 (UTC) 为准。如果指定了 dueDate,则必须指定此参数。

scheduledTime

string (Timestamp format)

选择发布此课程作业的可选时间戳。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式且采用纳秒分辨率(最多 9 个小数位)的时间戳。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

maxPoints

number

此课程作业的最高成绩。如果为零或未指定,则此作业被视为不计分。此值必须是非负整数值。

workType

enum (CourseWorkType)

本课程类型。

此类型是在创建课程作业时设置的,无法更改。

associatedWithDeveloper

boolean

课程作业内容是否与发出请求的 Play 管理中心项目相关联。

如需了解详情,请参阅 courseWork.create

只读。

assigneeMode

enum (AssigneeMode)

课程作业的分配对象模式。如果未指定,则默认值为 ALL_STUDENTS

individualStudentsOptions

object (IndividualStudentsOptions)

有权访问课程作业的学生的标识符。仅当 assigneeModeINDIVIDUAL_STUDENTS 时,系统才会设置此字段。如果 assigneeModeINDIVIDUAL_STUDENTS,系统仅会向此字段中指定的学生分配课程作业。

submissionModificationMode

enum (SubmissionModificationMode)

用于确定学生何时可以修改提交内容的设置。如果未指定,则默认值为 MODIFIABLE_UNTIL_TURNED_IN

creatorUserId

string

创建课程的用户的标识符。

只读。

topicId

string

与此课程作业相关主题的标识符。必须与课程的现有主题匹配。

gradeCategory

object (GradeCategory)

该课程的成绩所涵盖的类别。只有在为课程选择了某一类别时才显示。用于计算总体成绩。

只读。

联合字段 details。特定于某项课程作业的其他详细信息。details 只能是下列其中一项:
assignment

object (Assignment)

作业详细信息。仅当 workTypeASSIGNMENT 时,系统才会填充此字段。

只读。

multipleChoiceQuestion

object (MultipleChoiceQuestion)

选择题详细信息。对于读取操作,仅当 workTypeMULTIPLE_CHOICE_QUESTION 时填充此字段。对于写入操作,在创建 workTypeMULTIPLE_CHOICE_QUESTION 的课程作业时必须指定此字段,且此字段不能以其他方式设置。

CourseWorkState

可能的课程状态。

枚举
COURSE_WORK_STATE_UNSPECIFIED 未指定状态。系统绝不会返回此代码。
PUBLISHED 已发布工作的状态。这是默认状态。
DRAFT 尚未发布的作业的状态。只有课程教师和网域管理员才能看到此状态的作业。
DELETED 已发布但现已删除的工作状态。只有课程教师和网域管理员才能看到此状态的作业。此状态下的工作会在一段时间后删除。

日期

表示整个或部分日历日期,例如生日。一天中的时间和时区在别处指定,或不重要。日期相对于公历。它可以是以下类型之一:

  • 完整的日期格式,包括非零年份值、月份值和日期值。
  • 月份和日期,年份值为零(例如周年纪念日)。
  • 月份本身为 0,月零日。
  • 年份和月份,日期为零(例如,信用卡失效日期)。

相关类型:

JSON 表示法
{
  "year": integer,
  "month": integer,
  "day": integer
}
字段
year

integer

日期的年份。必须是 1 到 9999 之间的数字,或者是 0 以指定没有年份的日期。

month

integer

月份。必须是 1 到 12 之间的数字,或者是 0 以指定没有月份和日期的年份。

day

integer

日期。必须是 1 到 31 之间的数字并且符合具体的年份和月份,或者输入 0 可以单独指定年份,也可以指定日期不重要的年份和月份。

TimeOfDay

表示一天中的某个时间。日期和时区不重要,或在别处指定。API 可以选择允许闰秒。相关类型为 google.type.Dategoogle.protobuf.Timestamp

JSON 表示法
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
字段
hours

integer

一天中的小时(采用 24 小时制)。值应为 0 到 23。对于业务结束时间等场景,API 可以选择允许“24:00:00”一值。

minutes

integer

一天中某小时的分钟数。值必须是介于 0 和 59 之间的数字。

seconds

integer

时间的秒数部分。通常必须是介于 0 和 59 之间的数字。如果 API 允许闰秒,则 API 可以允许 60 一值。

nanos

integer

秒数的小数部分(以纳秒为单位)。值必须是介于 0 和 999999999 之间的数字。

SubmissionModificationMode(提交修改模式)

学生提交的修改模式。

枚举
SUBMISSION_MODIFICATION_MODE_UNSPECIFIED 未指定修改模式。系统绝不会返回此代码。
MODIFIABLE_UNTIL_TURNED_IN 您可以在上交前修改提交内容,
MODIFIABLE 您随时可以修改提交内容。

Assignment

分配的其他详细信息。

JSON 表示法
{
  "studentWorkFolder": {
    object (DriveFolder)
  }
}
字段
studentWorkFolder

object (DriveFolder)

云端硬盘文件夹,用于存放学生提交的附件。仅为课程教师和管理员填充此字段。

选择题

有关选择题的其他详细信息。

JSON 表示法
{
  "choices": [
    string
  ]
}
字段
choices[]

string

可能的选项。

方法

create

创建课程作业。

delete

删除课程作业。

get

返回课程作业。

list

返回请求者可以查看的课程作业列表。

modifyAssignees

修改受托人模式和课程选项。

patch

更新课程作业的一个或多个字段。