Стратегия реализации

На этой странице представлен краткий обзор ключевых взаимодействий между вашим веб-приложением надстройки и API надстроек Google Classroom.

Обнаружение вложений iframe

iframe обнаружения вложений — это целевая страница для учителей в вашем дополнении. Рассмотрите возможность выполнения следующих действий в отношении этого представления:

  • Покажите пользовательский интерфейс обнаружения или создания контента.

    При необходимости определите, будет ли элемент потока принимать ответы учащихся, так как вы можете запретить учителю добавлять вложения типа активности. Проверьте значение параметра запроса itemType , которое было передано при открытии надстройки iframed. Ответы учащихся принимаются только для типа courseWork .

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

Другие iframe

iframe «Представление ученика» , «Просмотр работ ученика» и «Представление учителя» предназначены для представления контента пользователю, а не для изменения задания в классе. Рассмотрите возможность принятия следующих мер в отношении этих представлений:

  • Когда откроется iframe, получите согласие OAuth пользователя, а затем подтвердите его роль и идентификатор вложения.
  • Когда откроется iframe, создайте courseWork.GetAddOnContextRequest , courseWorkMaterials.GetAddOnContextRequest или announcements.GetAddOnContextRequest на основе itemType для проверки роли пользователя.
  • Если текущий пользователь является студентом, свяжите идентификатор submissionId из ответа с работой студента. Это необходимо для возврата оценок и показа работ учащихся учителям в инструменте оценивания; submissionIds совпадают во всех представлениях.
  • Если attachmentId уже известен надстройке, покажите соответствующий пользовательский интерфейс вложения.
  • В противном случае должно быть так, что родительское сообщение этого вложения было скопировано из другого сообщения или курса. Используйте copyHistory , чтобы определить самую последнюю копию, о которой известно надстройке, и скопировать из нее настройки, чтобы создать новую соответствующую модель вложения на стороне надстройки. Затем покажите соответствующий пользовательский интерфейс вложения.