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

這個課程的 ID (由 Classroom 指派)。

如果設為 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)

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

唯讀。

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"

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 資料。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

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

checkGradingPeriodsSetupEligibility

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

create

建立課程。

delete

刪除課程。

get

傳回課程。

getGradingPeriodSettings

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

list

傳回允許提出要求的使用者檢視的課程清單,但只限與要求相符的課程清單。

patch

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

update

更新課程。

updateGradingPeriodSettings

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