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)

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

唯讀。

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 (建立時或透過使用者介面或 API 更新為 ACTIVE) 時,系統就會以非同步方式建立課程日曆。建立程序完成之前,系統不會填入日曆 ID。

唯讀。

gradebookSettings

object (GradebookSettings)

成績單設定,用來指定系統計算學生課程總成績的方式和顯示對象。

唯讀

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 表示法
{

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

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

create

建立課程。

delete

刪除課程。

get

傳回課程。

list

傳回提出要求的使用者可檢視的課程清單,僅限符合要求的使用者查看的課程。

patch

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

update

更新課程。