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

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

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

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

  • Когда откроется iframe обнаружения вложений, создайте courseWork.GetAddOnContextRequest , courseWorkMaterials.GetAddOnContextRequest или announcements.GetAddOnContextRequest на основе itemType , чтобы проверить роль пользователя и получить значение supportsStudentWork .
  • Покажите пользовательский интерфейс обнаружения или создания контента. Вы можете опустить вложения типа действия на основании значения supportsStudentWork из ответа проверки запуска.
  • В зависимости от выбора учителя отправьте один или несколько запросов на create дополнений, чтобы добавить вложения к заданию.

Другие iframe

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

  • Когда откроется iframe, получите согласие OAuth пользователя, а затем проверьте его роль и идентификатор вложения.

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