Структура 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 , которые представляют собой сопоставление между учащимся и опекуном. У представителей в Классе есть доступ к некоторой информации об учащихся, например к их заданиям.

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

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

Элемент CourseWork представляет собой одну задачу, назначенную группе студентов курса. Он содержит такие детали, как описание, срок выполнения и материалы, а также метаданные, такие как время создания. Материалы включают заголовок, миниатюру и URL-адрес, а также идентификатор, который можно использовать с соответствующими API (например, Диском, YouTube).

Элементы 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-уведомлениям .