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)
  },
  "subject": string,
  "learningStandardSettings": {
    object (CourseLearningStandardSettings)
  },
  "levels": string
}
欄位
id

string

Classroom 指派給這門課程的 ID。

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

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

name

string

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

section

string

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

descriptionHeading

string

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

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)

成績單設定,可指定學生課程總成績的計算方式,以及顯示對象。

唯讀。

subject

string

(選用步驟) 課程主題。

learningStandardSettings

object (CourseLearningStandardSettings)

(選用步驟)

課程中可用的學習標準相關設定。課程最多只能指派 20 個學習標準組合根。

levels

string

(選用步驟) 課程等級。例如:「9 年級」、「中學」、「4 至 5 年級」、「幼稚園至 2 年級」、「3000」。如要設定這個欄位,必須使用有效的 UTF-8 字串,且長度不得超過 1000 個字元。

這個欄位只能使用 courses.patch 方法清除。

CourseState

課程可能處於的狀態。

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

CourseMaterialSet

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

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

string

這組設定的標題。

materials[]

object (CourseMaterial)

附加至這組問題集的教材。

CourseMaterial

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

JSON 表示法
{

  "driveFile": {
    object (DriveFile)
  },
  "youTubeVideo": {
    object (YouTubeVideo)
  },
  "link": {
    object (Link)
  },
  "form": {
    object (Form)
  }
}
欄位
材料資料。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
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 在成績單和學生個人資料中,向老師顯示總成績。在學生個人資料中隱藏。

CourseLearningStandardSettings

課程的學習標準設定。

JSON 表示法
{
  "standardSets": [
    {
      object (LearningStandardSetRoot)
    }
  ]
}
欄位
standardSets[]

object (LearningStandardSetRoot)

必填。這門課程套用的學習標準根目錄組合。

LearningStandardSetRoot

代表所選學習標準組合的根目錄。在 Classroom UI 中設定訊息串項目的學習目標時,系統會顯示所選根節點的子節點。

JSON 表示法
{
  "caseGuid": {
    object (CaseGuid)
  },
  "documentTitle": string,
  "standardTitle": string,
  "sourceDataAvailabilityStatus": enum (LearningStandardAvailabilityState)
}
欄位
caseGuid

object (CaseGuid)

必填。學習標準組合根目錄的 Satchel Rosetta Exchange GUID。

documentTitle

string

僅供輸出。學習標準組合根層級的文件標題。

standardTitle

string

僅供輸出。學習標準組合根目錄的標題。

sourceDataAvailabilityStatus

enum (LearningStandardAvailabilityState)

僅供輸出。學習標準組合根目錄的可用性狀態。這項資訊可用來判斷學習標準組合根目錄是否已從來源刪除。

方法

checkAddOnCreationEligibility
(deprecated)

傳回使用者是否有權在指定課程中建立外掛程式附件。

checkGradingPeriodsSetupEligibility
(deprecated)

傳回使用者是否有權更新特定課程的 GradingPeriodSettings。

create

建立課程。

delete

刪除課程。

get

傳回課程。

getGradingPeriodSettings

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

list

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

patch

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

update

更新課程。

updateGradingPeriodSettings

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