На этой странице представлен краткий обзор ключевых взаимодействий между вашим веб-приложением надстройки и 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
, чтобы определить самую последнюю копию, о которой известно надстройке, и скопировать из нее настройки, чтобы создать новую соответствующую модель вложения на стороне надстройки. Затем покажите соответствующий пользовательский интерфейс вложения.