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

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