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 字串,且長度不得超過 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)

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

唯讀。

subject

string

(選用步驟) 課程科目。

learningStandardSettings

object (CourseLearningStandardSettings)

(選用步驟)

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

levels

string

(選用步驟) 課程等級。例如:「9th grade」、「Middle school」、「4th - 5th」、「K-2」、「3000」。如果設定這個欄位,必須是有效的 UTF-8 字串,且少於 1000 個半形字元。

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

CourseState

課程可能處於的狀態。

列舉
COURSE_STATE_UNSPECIFIED 沒有課程狀態。系統不會在傳回的課程訊息中使用這個值。
ACTIVE 課程有效。
ARCHIVED 課程已封存。你只能將其變更為其他州別,無法修改。
PROVISIONED 課程已建立,但尚未啟用。主要任課老師和網域管理員可以存取這項設定,並修改或變更為 ACTIVEDECLINED 狀態。只有在課程處於 DECLINED 狀態時,才能變更為 PROVISIONED
DECLINED 課程已建立,但遭拒。課程擁有者和網域管理員可以存取這項資訊,但不會顯示在網頁使用者介面中。除了變更為 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)
  }
}
欄位
聯集欄位 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 向老師顯示成績單和學生個人資料中的總成績。學生個人資料中不會顯示。

CourseLearningStandardSettings

課程的學習標準設定。

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

object (LearningStandardSetRoot)

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

LearningStandardSetRoot

代表所選學習標準集的根目錄。在 Classroom 使用者介面中,為串流項目設定學習目標時,系統會顯示所選根項目的後代。

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

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