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

課程的部分。例如「Period 2」。如果已設值,這個欄位必須是有效的 UTF-8 字串,且長度不得超過 2800 個半形字元。

descriptionHeading

string

說明的選用標題。例如:「Welcome to 10th Grade Biology」。如果已設值,這個欄位必須是有效的 UTF-8 字串,且長度不得超過 3600 個半形字元。

description

string

選填說明。例如:「我們將透過課本、講師講課和實驗室工作,瞭解生物的結構。期待你喜歡!」如果已設定,這個欄位必須是有效的 UTF-8 字串,且長度不得超過 30,000 個半形字元。

room

string

可選的房間位置。例如「301」。如果已設值,這個欄位必須是有效的 UTF-8 字串,且長度不得超過 650 個半形字元。

ownerId

string

課程擁有者的 ID。

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

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

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

creationTime

string (Timestamp format)

課程的建立時間。如果在課程更新遮罩中指定這個欄位,系統會產生錯誤。

唯讀。

採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

這個課程最近一次更新的時間。如果在課程更新遮罩中指定這個欄位,系統會產生錯誤。

唯讀。

採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "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

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

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

唯讀。

gradebookSettings

object (GradebookSettings)

成績簿設定:指定學生的課程總成績計算方式,以及向誰顯示。

唯讀

CourseState

課程可能處於的狀態。

列舉
COURSE_STATE_UNSPECIFIED 沒有課程狀態。不會有任何傳回的 Course 訊息使用這個值。
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 表示法
{

  // 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

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