REST Resource: courses

資源:課程

Classroom 課程。

JSON 表示法
{
  "id": string,
  "name": string,
  "section": string,
  "descriptionHeading": string,
  "description": string,
  "room": string,
  "ownerId": string,
  "creationTime": string,
  "updateTime": string,
  "enrollmentCode": string,
  "courseState": enum (CourseState),
  "alternateLink": string,
  "teacherGroupEmail": string,
  "courseGroupEmail": string,
  "teacherFolder": {
    object (DriveFolder)
  },
  "courseMaterialSets": [
    {
      object (CourseMaterialSet)
    }
  ],
  "guardiansEnabled": boolean,
  "calendarId": string,
  "gradebookSettings": {
    object (GradebookSettings)
  }
}
欄位
id

string

Classroom 指派給這門課程的 ID。

creating a course 時,您可以選擇在要求中將這個 ID 設為 alias string,以建立對應的別名。id仍由 Classroom 指派,課程建立後即無法更新。

在課程更新遮罩中指定這個欄位會導致錯誤。

name

string

課程名稱。例如「10 年級生物」。必須提供名稱。長度必須介於 1 至 750 個字元,且為有效的 UTF-8 字串。

section

string

課程的章節。例如「第 2 節」。如要設定這個欄位,必須使用有效的 UTF-8 字串,且長度不得超過 2800 個半形字元。

descriptionHeading

string

說明的選填標題。例如:「歡迎來到 10 年級生物課。」如要設定這個欄位,必須使用有效的 UTF-8 字串,且長度不得超過 3600 個字元。

description

string

選填說明。舉例來說:「我們會透過教科書、客座講座和實驗室工作,瞭解生物的結構。敬請期待!」。如要設定這個欄位,必須使用有效的 UTF-8 字串,且長度不得超過 30,000 個字元。

room

string

(選用) 房間位置。例如「301」。如要設定這個欄位,必須使用有效的 UTF-8 字串,且長度不得超過 650 個字元。

ownerId

string

課程擁有者的 ID。

如果指定為 create course request 的參數,則必須填寫這個欄位。ID 可以是下列任一項:

  • 使用者的數字 ID
  • 使用者的電子郵件地址
  • 字串常值 "me",表示要求的使用者

這項設定必須在建立要求中設定。管理員也可以在 patch course request 中指定這個欄位,以轉移擁有權。在其他情況下,這是唯讀屬性。

creationTime

string (Timestamp format)

課程的建立時間。在課程更新遮罩中指定這個欄位會導致錯誤。

唯讀。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

本課程最近一次更新的時間。在課程更新遮罩中指定這個欄位會導致錯誤。

唯讀。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

enrollmentCode

string

加入這門課程時使用的註冊代碼。在課程更新遮罩中指定這個欄位會導致錯誤。

唯讀。

courseState

enum (CourseState)

課程狀態。如未指定,預設狀態為 PROVISIONED

teacherGroupEmail

string

這個 Google 群組的電子郵件地址包含課程的所有老師。這個群組不接受電子郵件,只能用於權限。

唯讀。

courseGroupEmail

string

包含課程所有成員的 Google 群組電子郵件地址。這個群組不接受電子郵件,只能用於權限。

唯讀。

teacherFolder

object (DriveFolder)

與課程所有老師共用的雲端硬碟資料夾資訊。

這個欄位只會為課程老師和網域管理員設定。

唯讀。

courseMaterialSets[]
(deprecated)

object (CourseMaterialSet)

顯示於本課程「關於」頁面的教材集。

唯讀。

guardiansEnabled

boolean

這門課程是否已啟用監護人通知。

唯讀。

calendarId

string

所有課程成員都能查看的日曆 ID,Classroom 會將課程作業和公告的活動新增至這個日曆。

首次將課程設為 CourseState.ACTIVE 時 (建立課程時,或透過 UI 或 API 將課程更新為 ACTIVE 時),系統會非同步建立課程日曆。建立程序完成後,系統才會填入日曆 ID。

唯讀。

gradebookSettings

object (GradebookSettings)

成績單設定,可指定如何計算學生的課程總成績,以及向誰顯示總成績。

唯讀

CourseState

課程可能處於的狀態。

列舉
COURSE_STATE_UNSPECIFIED 沒有課程狀態。系統不會在傳回的課程訊息中使用這個值。
ACTIVE 課程有效。
ARCHIVED 課程已封存。你無法修改,但可以變更為其他州別。
PROVISIONED 課程已建立,但尚未啟用。主要任課老師和網域管理員可以存取這項設定,並修改或變更為 ACTIVEDECLINED 狀態。只有在課程處於 DECLINED 狀態時,才能變更為 PROVISIONED
DECLINED 課程已建立,但遭拒絕。課程擁有者和網域管理員可以存取這項資訊,但不會顯示在網頁 UI 中。除了將課程變更為 PROVISIONED 狀態外,您無法修改課程。只有在課程處於 PROVISIONED 狀態時,才能變更為 DECLINED
SUSPENDED 課程已暫停。您無法修改課程,且只有 ownerId 所識別的使用者可以查看課程。如果課程可能違反《服務條款》,就會處於這個狀態。

CourseMaterialSet

課程「關於」頁面顯示的一組教材。這些教材可能包括課程大綱、時間表,或與課程整體相關的其他背景資訊。

JSON 表示法
{
  "title": string,
  "materials": [
    {
      object (CourseMaterial)
    }
  ]
}
欄位
title

string

這組設定的標題。

materials[]

object (CourseMaterial)

附加至這組題目的教材。

CourseMaterial

附加至課程的教材,屬於教材集的一部分。

JSON 表示法
{

  // Union field material can be only one of the following:
  "driveFile": {
    object (DriveFile)
  },
  "youTubeVideo": {
    object (YouTubeVideo)
  },
  "link": {
    object (Link)
  },
  "form": {
    object (Form)
  }
  // End of list of possible types for union field material.
}
欄位
聯集欄位 material。材質資料。material 只能是下列其中一項:
driveFile

object (DriveFile)

附加 Google 雲端硬碟檔案。

youTubeVideo

object (YouTubeVideo)

YouTube 影片附件。

form

object (Form)

Google 表單附件。

GradebookSettings

課程的成績單設定。詳情請參閱這篇說明中心文章

JSON 表示法
{
  "calculationType": enum (CalculationType),
  "displaySetting": enum (DisplaySetting),
  "gradeCategories": [
    {
      object (GradeCategory)
    }
  ]
}
欄位
calculationType

enum (CalculationType)

指出總成績的計算方式。

displaySetting

enum (DisplaySetting)

指出哪些人可以查看總成績。

gradeCategories[]

object (GradeCategory)

課程中可用的課業成績類別。

CalculationType

計算總成績的可能方法。

列舉
CALCULATION_TYPE_UNSPECIFIED 未指定方法。系統不會傳回這項資訊。
TOTAL_POINTS 總成績是各項成績的總和除以總分,與類別無關。
WEIGHTED_CATEGORIES 總成績是依類別計算的加權平均值。

DisplaySetting

顯示總成績的可能設定。

列舉
DISPLAY_SETTING_UNSPECIFIED 未指定任何設定。系統不會傳回這項資訊。
SHOW_OVERALL_GRADE 在成績單和學生個人資料中向老師和學生顯示總成績。
HIDE_OVERALL_GRADE 不會在成績單或學生個人資料中顯示總成績。
SHOW_TEACHERS_ONLY 在成績單和學生個人資料中向老師顯示總成績。學生個人資料中不會顯示。

方法

checkAddOnCreationEligibility
(deprecated)

傳回使用者是否符合在指定課程中建立外掛程式附件的資格。

checkGradingPeriodsSetupEligibility
(deprecated)

傳回使用者是否符合在特定課程中更新 GradingPeriodSettings 的資格。

create

建立課程。

delete

刪除課程。

get

傳回課程。

getGradingPeriodSettings

傳回課程中的評分週期設定。

list

傳回要求使用者可查看的課程清單,但僅限於符合要求的課程。

patch

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

update

更新課程。

updateGradingPeriodSettings

更新課程的評分期間設定。