API-ресурсы

В этом руководстве представлен обзор основных компонентов, составляющих API Google Classroom. API Google Classroom состоит из ресурсов и сервисов . Ресурсы представляют собой объекты в Google Classroom, такие как курс или задание, а службы извлекают эти ресурсы и управляют ими. Некоторые из этих объектов имеют дополнительные свойства, специфичные для API, в дополнение к тем, которые существуют в Классе. Основные типы сущностей:

Сущность Представление в классе
Курсы Класс, типа «Математика М. Смита для 4-го урока».
Псевдонимы Альтернативный идентификатор курса.
Приглашения Средство добавления пользователей в класс.
Студенты Ученик в классе.
Учителя Учитель в классе.
Профили пользователей Пользователь в более общем смысле, вне контекста ученика или учителя.
Курсовая Работа Задание в классе.
СтудентМатериалы Учащиеся работают над заданием, например, с ответами или рабочими листами.
КурсовыеРаботыМатериалы Материалы для учащихся в классе.
Объявления Объявление для учащихся в классе.
Аддонаттачмент Содержимое или действие по заданию или материалу, которое обычно отображается в виде встроенного iframe.
Темы Визуальная группировка заданий и материалов в классе.
Регистрации Инструкция по отправке уведомлений в ваше приложение об изменениях данных, например списка классов.

Большинство ресурсов имеют методы обслуживания для стандартных операций, таких как чтение, обновление и удаление экземпляров ресурса. Некоторые ресурсы также имеют собственные методы для других операций, таких как изменение списка учащихся, которым назначено определенное задание.

Подробную информацию о ресурсах и методах API можно найти в справочнике по Classroom API .

Обзор взаимосвязей ресурсов

  • Курс — это основной объект данных в Google Classroom.
  • Псевдонимы используются в качестве альтернативных идентификаторов Courses .
  • Приглашения используются для приглашения профилей пользователей стать преподавателями или студентами Course , но пользователи также могут быть добавлены непосредственно администраторами домена Google Workspace for Education.
  • Преподаватели создают элементы Stream и делятся ими со студентами на своих курсах. Возможные типы элементов потока: Coursework , CourseWorkMaterials и Announcements . CourseWork и CourseWorkMaterials могут быть визуально организованы в темы и могут содержать AddOnAttachments . Студенты отправляют студенческие работы для своих CourseWork .
  • Разработчики могут создавать регистрации , чтобы получать уведомления при изменении некоторых данных.

Google Classroom доступен для доменов , которые подписались на Google Workspace for Education. Домен в контексте Класса обычно представляет собой школьный округ. Вы можете создать тестовый домен Google Workspace for Education для целей разработки, который даст вам контроль над рабочим экземпляром Classroom, не затрагивая реальных пользователей.

Курсы и псевдонимы

Courses представляют собой класс, например «Математика М. Смита для 4-го урока», а также назначенных ему учителей, список учащихся и метаданные. Каждый курс идентифицируется уникальным идентификатором, присвоенным сервером. Ресурс Course специально инкапсулирует все метаданные о курсе, такие как имя, описание, местоположение и время. Списки курсов управляются с помощью ресурсов Student , Teacher и Invitation и их методов.

Aliases — это альтернативные идентификаторы класса, которые могут быть связаны с курсом и использоваться вместо уникального идентификатора. Каждый псевдоним существует в пространстве имен, которое ограничивает круг лиц, которые могут его создавать и просматривать. Поддерживаются два пространства имен:

  • Домен: Пространство имен домена полезно для создания псевдонимов, к которым нужен доступ всем пользователям, но которые не относятся к какой-либо одной программе. Например, в пространстве имен домена следует создать альтернативные списки курсов, например MATH 127 и COMSCI 127. Псевдонимы в пространстве имен домена могут создаваться только администраторами домена, но они видны всем пользователям домена.
  • Проект разработчика. Пространство имен проекта разработчика полезно для управления псевдонимами, специфичными для приложения. Например, приложение, использующее альтернативные идентификаторы курсов, может создавать псевдонимы для сопоставления своего идентификатора с курсами Класса. Псевдонимы, созданные в этом пространстве имен, привязаны к определенной консоли Google API . Любой пользователь приложения может создавать и просматривать псевдонимы в пространстве имен проекта разработчика этого приложения.

Дополнительные сведения об управлении метаданными и псевдонимами курса см. в разделе «Управление курсами» .

Списки курсов и пользователи

Students и Teachers — это определенные сопоставления между профилем пользователя и курсом, представляющие роль этого пользователя в курсе. Обозначения студента и преподавателя не являются глобальными: пользователь может быть назначен преподавателем одного курса и студентом другого. Обозначения «ученик» или «преподаватель» представляют собой набор разрешений для конкретного пользователя в конкретном курсе. На курсе может быть более одного преподавателя или ноль студентов. Преподавателей и учащихся можно добавлять в курс или удалять из него в любое время.

Студенты

Ресурс Student представляет пользователя, который зачислен в качестве студента на определенный курс.

Студентам разрешено просматривать подробную информацию о курсе и преподавателях этого курса.

Учителя

Ресурс Teacher представляет пользователя, который преподает определенный курс.

Преподавателям разрешено просматривать и изменять сведения о курсе, просматривать преподавателей и учащихся, а также управлять дополнительными преподавателями и учащимися.

Invitations и связанные с ними методы предоставляют удобный способ добавления студентов и преподавателей на курсы. Создание приглашений позволяет пользователям выбирать, присоединяться к курсу или нет, вместо того, чтобы добавлять их напрямую через ресурсы для преподавателей и учащихся.

UserProfiles представляет собой сопоставление с профилем домена пользователя, идентифицируемым уникальным идентификатором или адресом электронной почты пользователя, возвращаемым API каталога . Текущий пользователь также может ссылаться на свой собственный идентификатор, используя сокращение "me" .

Службу UserProfiles также можно использовать для управления и приглашения Guardians , которые представляют собой сопоставление между учащимся и опекуном. У представителей в Классе есть доступ к некоторой информации об учащихся, например к их заданиям.

Дополнительные сведения об управлении списками см. в разделе «Управление учителями и учениками» .

Потоковые элементы

Элементы потока — это фрагменты опубликованного контента, которыми поделились участники курса. Разработчики и преподаватели могут создавать три типа элементов потока: Announcement , CourseWork и CourseWorkMaterial .

Учителя создают Announcements в верхней части страницы потока в пользовательском интерфейсе Класса. Учителя создают CourseWork и CourseWorkMaterials , нажимая кнопку « Создать» на вкладке «Работы в классе». Разработчики могут создавать все типы элементов потока программно с помощью Classroom API.

Для элементов потока справедливо следующее:

  • Все элементы потока могут содержать дополнительные материалы, такие как файлы Google Диска, видео YouTube, формы Google, URL-гиперссылки и вложения надстроек Класса.
  • Все элементы потока можно назначить определенной группе учащихся курса.
  • CourseWork может быть оценена или не оценена. Преподаватели могут изменить статус оценки задания CourseWork в любое время.
  • Элемент потока может иметь более одного вложения.
  • Элемент потока может иметь вложения разных типов. Например, одно задание CourseWork может одновременно содержать файлы Google Диска, видео YouTube и дополнительные вложения для Класса.
  • Элемент потока может иметь дополнительные вложения от нескольких разработчиков.
  • Разработчики могут получать и изменять сведения о любом ресурсе элемента потока, к которому имеется одно из их дополнительных вложений.
  • Разработчики могут сдать, вернуть или вернуть материалы, отправленные учащимися для задания CourseWork , которое включает одно из их дополнительных вложений.
  • Разработчики могут окончательно выставлять оценки только за отдельные работы учащихся в созданных ими заданиях.

Скопированные элементы потока

Преподаватели могут скопировать элемент потока, скопировав курс, повторно используя задание или опубликовав элемент потока в нескольких курсах. Любые новые копии будут иметь отдельные идентификаторы, что может быть важным фактором, если вы разрабатываете надстройку для Класса. Прочтите наше руководство по скопированному контенту , чтобы понять, как надстройка может справиться с такими сценариями.

Курсовые работы и студенческие работы

Элемент CourseWork представляет собой задание для группы студентов курса. Это единственный тип элемента потока, который может принимать материалы учащихся. Ресурс CourseWork содержит такие сведения, как описание, срок сдачи, максимальная оценка и метаданные, например время создания.

Каждый ресурс CourseWork описывает один из следующих типов задач:

  • Задание, которое учащиеся выполняют, отправляя рабочие листы или другие вложения.
  • Вопрос с коротким ответом или вопрос с несколькими вариантами ответов.

Студенческая работа для элемента CourseWork представлена StudentSubmission . Он состоит из ответа и дополнительных метаданных, таких как состояние и присвоенная оценка.

Содержимое StudentSubmission зависит от типа соответствующего элемента CourseWork и может включать в себя:

  • Рабочие листы и вложения, отправленные для выполнения задания, включая их заголовок, миниатюру и URL-адрес, а также идентификаторы, которые можно использовать с соответствующими API, такими как Диск или YouTube.
  • Ответ на вопрос с коротким ответом или вопрос с несколькими вариантами ответов.

Дополнительные сведения об управлении курсовыми работами и работами учащихся см. в разделе Управление курсовыми работами .

Курсовые работыМатериалы и объявления

Подобно CourseWork , CourseWorkMaterials представляет контент, назначенный группе студентов в курсе. Каждый ресурс имеет такие детали, как название и описание, а также дополнительные материалы. Однако, в отличие от CourseWork , CourseWorkMaterials не требует от учащихся предоставления каких-либо артефактов. Таким образом, срок сдачи отсутствует, а StudentSubmissions не существует для CourseWorkMaterials . Учителя могут использовать CourseWorkMaterials для публикации рекомендуемых материалов для чтения, учебной программы или правил занятий в классе.

Announcements также представляют собой контент, которым поделились с группой учащихся, но не содержат таких деталей, как заголовок, и не могут быть организованы по Topics , как CourseWork или CourseWorkMaterials . Учителя могут использовать их для объявления напоминаний или уведомлений классу.

Темы

Topics используются для визуальной организации CourseWork и CourseWorkMaterials внутри класса. Их можно использовать, например, для группировки заданий на «необязательные» и «обязательные» или «блок 1» и «блок 2».

Дополнения для Класса

Надстройка — это пользовательский интерфейс и серверная часть, обслуживаемые разработчиком, обычно отображаемые в iframe. Дополнения отображаются в виде вложений в элементе потока. Элементом потока может быть любой Announcements , CourseWork или CourseWorkMaterials . Дополнительные вложения представлены AddOnAttachment .

Дополнительные вложения могут представлять собой действие или контент .

  • Вложения с заданиями требуют от учащегося заполнить и сдать индивидуальную заявку. Примеры включают викторины, рисунки или игры. Представленное задание можно дополнительно оценить.
  • Вложения с содержимым не требуют подачи заявки учащимся. Учащемуся не нужно сдавать вложение, и за него не выставляется оценка. Примеры включают фотографии, статьи и видео.

Дополнительную информацию см. в руководствах по разработке надстроек .

Регистрации

Приложения могут подписаться на уведомления при изменении определенных данных в Google Classroom. Например, когда обновляется список курсов. Registrations представляют собой инструкцию по отправке этих уведомлений в ваше приложение.

Дополнительную информацию см. в руководстве по push-уведомлениям .