Разработчики могут использовать API Google Classroom для взаимодействия с учебными материалами в Google Classroom. Приложение, использующее API таким образом, называется интеграцией CourseWork
.
Этот путь интеграции обычно используется для создания и оценки заданий со ссылками на ресурсы за пределами Classroom. Он предоставляет разработчикам более широкие возможности управления курсом по сравнению с кнопками общего доступа в Classroom .
Как это работает
Основная функция интеграции CourseWork
— создание и управление заданиями, объявлениями и материалами курса с помощью Classroom API.
Одним из примеров типичного пути пользователя, реализованного благодаря интеграции CourseWork
, является возможность для преподавателей находить, назначать и оценивать контент на вашем веб-сайте или в приложении:
- Пользователь-учитель заходит на ваш сайт.
- Учитель находит или создаёт контент, которым хочет поделиться с классом. Он нажимает кнопку на вашем сайте, чтобы отправить этот контент в Google Classroom.
- Ваше приложение отправляет запрос к
courses.courseWork.create
. Запрос содержит объектCourseWork
в своем теле, который содержит:- Идентификатор целевого курса.
- Название задания.
- Текстовое описание задания.
-
Material
соlink
на URL-адрес выбранного преподавателем контента. - При желании — максимально возможный балл за выбранный контент.
- В Classroom появляется новое задание с прикрепленной ссылкой. Ссылка ссылается на URL-адрес, указанный в запросе
create
. Пример см. на рисунке 1. - В журнале оценок класса также появится новый столбец для задания, включая максимальный балл, если он указан.
- Студенты получают задание и нажимают
link Material
, чтобы открыть предоставленный URL-адрес в новой вкладке и просмотреть или дополнить контент на вашем сайте. При желании предоставьте студенту элементы управления для сдачи задания . - При желании вы можете отправить запрос
courses.courseWork.studentSubmissions.modifyAttachments
, чтобы добавить вложения к студенческой работе, например, файл Google Диска илиlink Material
, указывающий на работу студента на вашем веб-сайте. - При желании отправьте запрос к
courses.courseWork.studentSubmissions.patch
, чтобы установить оценку студента за задание.
Рисунок 1. Вид преподавателя при редактировании задания со link Material
созданный путем интеграции CourseWork
.
В качестве альтернативы вы можете вызвать courses.announcements.create
или courses.courseWorkMaterials.create
, чтобы создать объявление или учебный материал вместо задания. Подробное описание соответствующих действий Classroom API см. на страницах « Создание и управление курсовыми работами» и «Установка и обновление оценок».
Соображения
Прежде чем решить, является ли интеграция CourseWork
правильным выбором для нужд вашего продукта, помните о следующем.
- Вам необходимо авторизовать пользователя и запросить его согласие. Вы отправляете запросы к API от имени пользователя . Это означает, например, что вы не сможете создавать курсовые работы в любом курсе Google Classroom; вы сможете создавать курсовые работы только в курсах, которые преподаёт авторизованный пользователь.
- Вам необходимо предоставить пользователю возможность выбрать курс для получения контента. Рассмотрите возможность использования
courses.list
для получения списка курсов, которые преподаёт пользователь, а затем предоставьте пользователю возможность выбрать один или несколько курсов из списка. - Когда пользователь нажимает на
link Material
в Classroom, она открывается в новой вкладке. Ваш сервер не получит никакой информации от Classroom при открытии URL-адреса. - Преподаватель может изменять или удалять курсовую работу независимо от разработчика. Это означает, что знания разработчика о курсовой работе могут устареть. Если вам нужно быть в курсе изменений в курсовой работе, рассмотрите возможность настройки push-уведомлений об изменениях в ней.
- Преподаватель может создавать курсовые работы в интерфейсе Classroom, вставляя ссылки на URL-адреса на вашем сайте. Курсовые работы, созданные таким образом, принадлежат исключительно преподавателю, поэтому вы не сможете просматривать, изменять или устанавливать оценки за сданные работы с помощью API Classroom.