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)
  },
  "previewVersion": enum (PreviewVersion),

  // 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.
  "gradingPeriodId": string
}
欄位
courseId

string

課程的 ID。

唯讀。

id

string

這項課程作業透過 Classroom 指派的 ID,每個課程均不得重複。

唯讀。

title

string

這門課程的標題。標題必須是有效的 UTF-8 字串,長度必須介於 1 至 3,000 個字元之間。

description

string

課程作業的說明 (選填)。如要設定,說明必須是有效的 UTF-8 字串,且長度不得超過 30,000 個字元。

materials[]

object (Material)

其他資料。

CourseWork 最多只能包含 20 個教材項目。

state

enum (CourseWorkState)

這項課程作業的狀態。如果未指定,則預設狀態為 DRAFT

creationTime

string (Timestamp format)

這項課程作業建立的時間戳記。

唯讀。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

最近一次變更這項課程作業的時間戳記。

唯讀。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

dueDate

object (Date)

(選填) 這項課程作業的繳交期限 (世界標準時間)。如果指定 dueTime,就必須指定這項資訊。

dueTime

object (TimeOfDay)

(選填) 這堂課程作業的繳交期限 (世界標準時間)。如果指定 dueDate,就必須指定這項資訊。

scheduledTime

string (Timestamp format)

已排定發布這項課程作業的時間戳記。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

maxPoints

number

這個課程作業的最高成績。如果作業為 0 或未指定,即視為未評分。必須為非負整數。

workType

enum (CourseWorkType)

這門課程的類型。

類型會在建立課程作業時設定,而且無法變更。

associatedWithDeveloper

boolean

此課程作業項目是否與提出要求的 Developer Console 專案相關聯。

詳情請參閱 courseWork.create

唯讀。

assigneeMode

enum (AssigneeMode)

課程作業的指派對像模式。如果未指定,則預設值為 ALL_STUDENTS

individualStudentsOptions

object (IndividualStudentsOptions)

擁有課程作業存取權的學生 ID。只有在 assigneeModeINDIVIDUAL_STUDENTS 時,才會設定這個欄位。如果 assigneeModeINDIVIDUAL_STUDENTS,則只有這個欄位中指定的學生才會獲派課程。

submissionModificationMode

enum (SubmissionModificationMode)

決定學生何時可以修改繳交作業的設定。如果未指定,則預設值為 MODIFIABLE_UNTIL_TURNED_IN

creatorUserId

string

建立課程作業的使用者 ID。

唯讀。

topicId

string

與這項課程相關聯的主題 ID。必須與課程中的現有主題相符。

gradeCategory

object (GradeCategory)

此課程作業的成績類別。只有在已經選定課程作業類別時才會顯示。可用來計算總成績。

唯讀。

previewVersion

enum (PreviewVersion)

僅供輸出。用來擷取這項資源的 API 預覽版本。

聯集欄位 details。特定課程作業類型的其他詳細資料。details 只能是下列其中一項:
assignment

object (Assignment)

作業詳細資料。只有在 workTypeASSIGNMENT 時才會填入資料。

唯讀。

multipleChoiceQuestion

object (MultipleChoiceQuestion)

選擇題詳細資料。針對讀取作業,只有在 workTypeMULTIPLE_CHOICE_QUESTION 時,系統才會填入這個欄位。以寫入作業來說,如要使用 MULTIPLE_CHOICE_QUESTIONworkType 建立課程作業,就必須指定這個欄位,且不得另行設定。

gradingPeriodId

string

與課程作業相關聯的評分期間 ID。

  • 如未指定,系統會依據dueDate (如未設定 dueDate,則設定 scheduledTime) 來設定評分週期 ID。
  • 如要表示和任何評分週期之間沒有關聯,請將這個欄位設為空字串 (")。
  • 此 ID 必須與課程現有的評分週期 ID 相符 (如有指定)。

CourseWorkState

課程作業的可能狀態。

列舉
COURSE_WORK_STATE_UNSPECIFIED 未指定州。系統一律不會傳回這個值。
PUBLISHED 已發布作業的狀態。這是預設狀態。
DRAFT 尚未發布的作業狀態。只有課程老師和網域管理員才能查看這個狀態的作業。
DELETED 工作狀態:已發布,但現已遭到刪除。只有課程老師和網域管理員才能查看這個狀態的作業。處於這個狀態的工作會在一段時間後刪除。

SubmissionModificationMode

學生繳交作業時可用的修改模式。

列舉
SUBMISSION_MODIFICATION_MODE_UNSPECIFIED 未指定修改模式。系統一律不會傳回這個值。
MODIFIABLE_UNTIL_TURNED_IN 您可以在繳交作業前修改繳交的作業。
MODIFIABLE 提交內容隨時都可以修改。

指派項目

作業的其他詳細資料。

JSON 表示法
{
  "studentWorkFolder": {
    object (DriveFolder)
  }
}
欄位
studentWorkFolder

object (DriveFolder)

存放學生繳交附件的雲端硬碟資料夾。只有課程的老師和管理員才看得到這項資訊。

MultipleChoiceQuestion

選擇題的其他詳細資料。

JSON 表示法
{
  "choices": [
    string
  ]
}
欄位
choices[]

string

可能的選項。

方法

create

建立課程作業。

delete

刪除課程作業。

get

傳回課程作業。

getAddOnContext

取得特定訊息背景資訊的 Classroom 外掛程式中繼資料。

list

傳回要求者有權檢視的課程作業清單。

modifyAssignees

修改課程作業的指派模式和選項。

patch

更新課程作業的一或多個欄位。