В Classroom задания называются элементами «Курсовая работа» и находятся на странице «Курсовая работа» любого курса Classroom. Хотя существует четыре типа элементов «Курсовой работы», это руководство посвящено только типу «Задание». Если вы хотите узнать, как управлять другими типами элементов «Курсовой работы», прочтите наше руководство «Управление классной работой» .
Google Classroom предлагает два способа интеграции с рабочим процессом заданий: кнопка «Поделиться» в Classroom и API Classroom . Кнопка «Поделиться» позволяет пользователям делиться контентом как любым элементом ленты через всплывающее диалоговое окно Classroom, тогда как API Classroom обеспечивает полный цикл работы с заданиями, включая создание заданий, создание и управление работами учащихся, а также передачу оценок.
Здесь мы рассмотрим ключевые различия между этими двумя предложениями для разработчиков. В частности, мы разберем различия в реализации и каждом этапе жизненного цикла задания: создание задания, отправка студентами работ и оценка/обратная связь.
Понимание жизненного цикла задания
Прежде чем перейти к различиям между кнопкой «Поделиться» и API CourseWork, давайте сначала определим, что мы считаем жизненным циклом задания в контексте Classroom. Это поможет вам понять, как преподаватели и ученики взаимодействуют с заданиями в Classroom.
При интеграции с заданиями в классе следует учитывать пять основных шагов:
- Задание создано.
- Задание предоставляется студентам.
- Студент выполняет задание.
- Ученик сдаёт задание учителю.
- Отзывы и оценки учителей к заданиям.
Интеграция с заданиями в Classroom позволяет преподавателям и ученикам беспрепятственно взаимодействовать между Classroom и сторонними приложениями. Вместо того чтобы самостоятельно управлять деталями заданий или студенческими работами, пользователи могут положиться на ваше приложение, которое сделает это за них.

Выполнение
Первое различие между кнопкой «Поделиться» и API CourseWork заключается в реализации . С точки зрения разработчика, кнопка «Поделиться» — это более простой способ поделиться контентом в Classroom, поскольку она требует только включения необходимого ресурса JavaScript и добавления тега кнопки «Поделиться». В простейшем виде интеграция кнопки «Поделиться» в Classroom может выглядеть как в приведенном ниже фрагменте кода:
<script src="https://apis.google.com/js/platform.js" async defer></script>
<g:sharetoclassroom url="http://url-to-share" size="32"></g:sharetoclassroom>
С другой стороны, API CourseWork является частью REST API Google Classroom, для работы с которым требуется настройка и активация ключей API в консоли Google Cloud и соблюдение лучших практик интеграции с API. Это менее проблематично, если ваша платформа уже использует другие функции API Classroom, такие как составление расписаний .
Создание и обмен заданиями
Хотя и кнопка «Поделиться», и API CourseWork позволяют выполнить первые два шага рабочего процесса с заданием — создание и отправку задания студентам, — перед выбором решения следует учесть ряд важных различий.
По сути, оба решения позволяют размещать ссылки или файлы в качестве заданий в Classroom. Это обеспечивает удобный рабочий процесс для учителей, которым в противном случае пришлось бы копировать и вставлять контент между Classroom и сторонним приложением. Хотя оба решения поддерживают возможность размещения контента в качестве заданий, следует подумать, нужна ли вашему приложению гибкость в размещении этого контента в качестве других типов заданий Classroom или даже в качестве объявления.
Оба сервиса отображают все типы сообщений в Classroom, за исключением заданий для викторин. Сводную информацию обо всех типах сообщений и о том, отображаются ли они, можно найти ниже.
| Тип публикации | Кнопка «Поделиться» | API для работы с курсами |
|---|---|---|
| Назначение | X | X |
| Задание для викторины | ||
| Вопрос: Краткий ответ | X | X |
| Вопрос: Варианты ответа | X | X |
| Материал | X | X |
| Объявление | X | X |
Функциональность, такая как указание заголовка и описания, также может быть задана программно вашим приложением для обоих решений. Хотя интеграция кнопки «Поделиться» позволяет пользователям устанавливать такие поля, как срок выполнения, тема, индивидуальный режим и количество баллов во всплывающем диалоговом окне, эти параметры не могут быть заданы программно сторонним приложением. API, с другой стороны, предоставляет доступ ко всем этим полям как для чтения, так и для записи.
Изменение заданий
Одним из преимуществ интеграции с Classroom API является устранение необходимости ручной синхронизации пользователями изменяющихся данных своих заданий. Кнопка «Поделиться» не имеет функциональности для программного обновления или удаления заданий, поэтому любые необходимые изменения должны будут вноситься пользователем через пользовательский интерфейс Classroom.
API CourseWork позволяет как изменять и удалять задания, созданные вашим приложением, так и получать подробную информацию о любых заданиях, размещенных в курсах пользователя. Важно отметить, однако, что элементы CourseWork, созданные не с помощью той же консоли разработчика, не могут быть изменены с помощью этой консоли. Эта модель разрешений распространяется на весь жизненный цикл задания, например, управление студенческими работами и оценками недоступно для этих элементов CourseWork.
Автоматическая синхронизация назначений
Благодаря push-уведомлениям Pub/Sub ваше приложение может подписаться на уведомления, которые запускают событие при изменении элементов CourseWork и связанных с ними работ студентов. Это позволяет вашему приложению легко синхронизировать задания, устраняя необходимость в постоянных проверках обновления контента в Classroom.
Выполнение и отправка заданий
Каждому заданию соответствует N работ студентов, где N — количество студентов, которым было назначено задание. Другими словами, для каждого задания существует работа, связанная с каждым студентом, доступ к которой осуществляется с помощью уникального идентификатора. Эти работы студентов создаются автоматически и могут быть получены вашим приложением с помощью конечных точек GET и LIST для работы со студентами.
И кнопка «Поделиться», и API CourseWork позволяют добавлять ссылки или файлы к работам студентов, выполненным в рамках задания. Кнопка «Поделиться» позволяет это сделать с помощью аналогичного процесса, как и диалоговое окно создания задания преподавателем, а API CourseWork — через конечную точку studentSubmissions.modifyAttachments . Однако из-за ограничений прав доступа к API, описанных ранее, эта функциональность ограничена элементами CourseWork, созданными вашим приложением. Это же ограничение не распространяется на кнопку «Поделиться» — студенты могут добавлять свои работы к любому заданию, которое они выберут в Classroom.
Завершение процесса работы со студентами.
Хотя ограничение на доступ к CourseWork не подходит для платформ, не поддерживающих создание заданий, одним из преимуществ является то, что сторонние платформы могут предотвратить как отправку студентами неправильных заданий, так и забывание сдать работу, поскольку возможность сдачи заданий ограничена только кнопкой «Поделиться».
Проверка и оценивание заданий
Последний этап жизненного цикла задания возвращается к учителю. После того, как ученики успешно сдали свои работы, учитель может проверить их любым удобным для него способом. В случае файлов, хранящихся на Google Диск, они могут проверить их непосредственно в окне проверки заданий в Google Classroom. Однако сторонние приложения недоступны в окне проверки заданий в Google Classroom. Это означает, что учителям приходится переключаться между несколькими вкладками при проверке и оценивании заданий.
В настоящее время кнопка «Поделиться» не предоставляет решения для выставления оценок и возврата выполненных заданий. Хотя такие функции, как комментарии студентов к работам, в настоящее время не доступны через API, выставление оценок и возврат этих оценок студентам возможны через конечные точки studentSubmissions.patch и studentSubmissions.return . Оценки можно указывать только для элементов потока «Курсовая работа» (типы «Задание» и «Вопрос»). Они доступны только в числовом виде и могут быть присвоены как черновая, так и итоговая оценка.
Краткое изложение различий
Подводя итог всему рассмотренному в предыдущих разделах, в таблице ниже представлено сравнение кнопки «Поделиться» и API CourseWork по четырем категориям, обсуждавшимся выше: реализация, создание и отправка заданий, выполнение и отправка заданий, а также проверка и оценивание заданий.
| Кнопка «Поделиться» | API для работы с курсами | |
|---|---|---|
| Выполнение | Всего несколько строк кода JavaScript, что делает реализацию простой и быстрой. | Требуется настройка ключей API, включение API в административной консоли и более тщательный мониторинг. |
| Создание и обмен заданиями |
|
|
| Выполнение и отправка заданий |
|
|
| Проверка и оценка заданий | Нет поддержки для указания или возврата оценок. |
|