REST Resource: courses.courseWork.studentSubmissions

Ресурс: StudentSubmission

Работа, сданная учащимся.

При создании объекта CourseWork создаются объекты StudentSubmission.

У работ учащихся, которые никогда не открывались (то есть со значением state = NEW), может не быть времени создания или обновления.

JSON-представление
{
  "courseId": string,
  "courseWorkId": string,
  "id": string,
  "userId": string,
  "creationTime": string,
  "updateTime": string,
  "state": enum (SubmissionState),
  "late": boolean,
  "draftGrade": number,
  "assignedGrade": number,
  "rubricId": string,
  "draftRubricGrades": {
    string: {
      object (RubricGrade)
    },
    ...
  },
  "assignedRubricGrades": {
    string: {
      object (RubricGrade)
    },
    ...
  },
  "alternateLink": string,
  "courseWorkType": enum (CourseWorkType),
  "associatedWithDeveloper": boolean,
  "submissionHistory": [
    {
      object (SubmissionHistory)
    }
  ],
  "previewVersion": enum (PreviewVersion),

  "assignmentSubmission": {
    object (AssignmentSubmission)
  },
  "shortAnswerSubmission": {
    object (ShortAnswerSubmission)
  },
  "multipleChoiceSubmission": {
    object (MultipleChoiceSubmission)
  }
}
Поля
courseId

string

Идентификатор курса.

Только для чтения.

courseWorkId

string

Идентификатор задания, к которому относится оценка.

Только для чтения.

id

string

Идентификатор, назначенный Классом для отправленной учащимся работы. Этот идентификатор уникален для всех работ в рамках одного курса.

Только для чтения.

userId

string

Идентификатор учащегося, которому принадлежит эта работа.

Только для чтения.

creationTime

string (Timestamp format)

Время создания этого запроса. Это поле может быть не заполнено, если учащийся не открывал этот объект.

Только для чтения.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Время последнего обновления этого запроса. Это поле может быть не заполнено, если учащийся не открывал этот объект.

Только для чтения.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

state

enum (SubmissionState)

Статус отправки.

Только для чтения.

late

boolean

Информация о том, была ли работа сдана с опозданием.

Только для чтения.

draftGrade

number

Необязательная оценка, ожидающая подтверждения. Если оценка не задана, поле будет пустым. Значение этого параметра должно быть неотрицательным. Допускаются десятичные (нецелые) значения, но они округляются до двух знаков после запятой.

Она видна только преподавателям курса, и только они могут ее изменять.

assignedGrade

number

Необязательная оценка. Если оценка не задана, поле будет пустым. Значение этого параметра должно быть неотрицательным. Допускаются десятичные (нецелые) значения, но они округляются до двух знаков после запятой.

Изменять его могут только преподаватели курса.

rubricId

string

Только для вывода. Идентификатор критерия оценки, который в настоящее время прикреплен к этому заданию и используется для оценки этой работы учащегося.

Если критериев оценки нет, это поле будет пустым. Этот идентификатор отражает активный в данный момент критерий оценки. Он меняется, если преподаватели удаляют и заново создают критерий оценки.

Только для чтения.

draftRubricGrades

map (key: string, value: object (RubricGrade))

Оценки по критериям, которые ещё не опубликованы.

Если к заданию не прикреплен критерий оценки или прикреплен, но оценки не выставлены, карта будет пустой. Записи заполняются только для выставленных оценок. Ключ: идентификатор критерия в критериях оценки.

Только для чтения.

Объект содержит список из нескольких пар ("key": value). Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

assignedRubricGrades

map (key: string, value: object (RubricGrade))

Оценки, назначенные на основе критериев.

Если к заданию не прикреплен критерий оценки или он прикреплен, но оценки не заданы, эта карта будет пустой. Записи заполняются только для выставленных оценок. Ключ: идентификатор критерия оценки.

Только для чтения.

Объект содержит список из нескольких пар ("key": value). Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

courseWorkType

enum (CourseWorkType)

Тип работы, к которой относится этот ответ.

Только для чтения.

associatedWithDeveloper

boolean

Указывает, связана ли эта работа учащегося с проектом Developer Console, который выполняет запрос.

Подробную информацию можно найти на сайте courseWork.create.

Только для чтения.

submissionHistory[]

object (SubmissionHistory)

История отправки (включает историю статусов и оценок).

Только для чтения.

previewVersion

enum (PreviewVersion)

Только для вывода. Предварительная версия API. Это необходимо, чтобы получить доступ к новым возможностям API, доступным разработчикам в рамках программы предварительного доступа.

Контент, отправленный пользователем. Тип зависит от значения course_work_type. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
assignmentSubmission

object (AssignmentSubmission)

Контент ответа, если courseWorkType имеет значение ASSIGNMENT.

Учащиеся могут изменять этот контент с помощью studentSubmissions.modifyAttachments.

shortAnswerSubmission

object (ShortAnswerSubmission)

Контент ответа, если courseWorkType имеет значение SHORT_ANSWER_QUESTION.

multipleChoiceSubmission

object (MultipleChoiceSubmission)

Контент ответа, если courseWorkType имеет значение MULTIPLE_CHOICE_QUESTION.

Конец взаимоисключающих полей.

RubricGrade

Оценка за работу учащегося, выставленная по критериям. Для каждого критерия оценки может быть не более одной записи.

JSON-представление
{
  "criterionId": string,
  "levelId": string,
  "points": number
}
Поля
criterionId

string

Необязательное поле. Идентификатор критерия.

levelId

string

Необязательное поле. Необязательный идентификатор выбранного уровня. Если поле пустое, уровень не выбран.

points

number

Необязательное поле. Баллы, которые можно получить за выполнение критерия. Обычно они зависят от уровня. Уровни могут иметь или не иметь баллы. Если значение не задано, баллы для этого критерия не установлены.

AssignmentSubmission

Работы учащихся по заданию.

JSON-представление
{
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
Поля
attachments[]

object (Attachment)

Прикрепленные файлы, добавленные учащимся. Файлы на Диске, соответствующие материалам с режимом доступа STUDENT_COPY, могут ещё не существовать, если учащийся не открывал задание в Классе.

Некоторые метаданные прикрепленных файлов заполняются, только если у запрашивающего пользователя есть разрешение на доступ к ним. Поля identifier и alternateLink доступны всегда, а другие (например, title) могут быть недоступны.

Прикрепленный файл

К назначенной работе учащегося прикреплен файл.

При создании прикрепленных файлов поле form не поддерживается.

JSON-представление
{

  "driveFile": {
    object (DriveFile)
  },
  "youTubeVideo": {
    object (YouTubeVideo)
  },
  "link": {
    object (Link)
  },
  "form": {
    object (Form)
  }
}
Поля
Данные прикрепленных файлов. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
driveFile

object (DriveFile)

Прикрепленный файл с Google Диска.

youTubeVideo

object (YouTubeVideo)

Прикрепленное видео YouTube.

form

object (Form)

Прикрепленный файл Google Форм.

Конец взаимоисключающих полей.

ShortAnswerSubmission

Работа учащегося с вопросом, требующим краткого ответа.

JSON-представление
{
  "answer": string
}
Поля
answer

string

Ответ учащегося на вопрос, требующий краткого ответа.

MultipleChoiceSubmission

Работа учащегося с вопросом с несколькими вариантами ответа.

JSON-представление
{
  "answer": string
}
Поля
answer

string

Выбор учащегося.

SubmissionHistory

История отправки. В настоящее время это включает историю состояний и оценок.

JSON-представление
{

  "stateHistory": {
    object (StateHistory)
  },
  "gradeHistory": {
    object (GradeHistory)
  }
}
Поля
Тип SubmissionHistory. Возможные значения: StateHistory, GradeHistory. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
stateHistory

object (StateHistory)

История статусов отправки (если есть).

gradeHistory

object (GradeHistory)

История оценок работы, если она есть.

Конец взаимоисключающих полей.

StateHistory

История всех статусов, которые были у этого запроса.

JSON-представление
{
  "state": enum (State),
  "stateTimestamp": string,
  "actorUserId": string
}
Поля
state

enum (State)

Этап конвейера рабочего процесса.

stateTimestamp

string (Timestamp format)

Когда заявка перешла в это состояние.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

actorUserId

string

Преподаватель или учащийся, который внес изменение.

Штат

Возможные состояния отправки.

Перечисления
STATE_UNSPECIFIED Штат не указан. Это значение не должно возвращаться.
CREATED Заявка создана.
TURNED_IN Учащийся сдал документ, который может быть или не быть шаблоном.
RETURNED Преподаватель вернул учащемуся документ с заданием.
RECLAIMED_BY_STUDENT Учащийся сдал документ, а затем отменил отправку задания, снова став владельцем файла.
STUDENT_EDITED_AFTER_TURN_IN Учащийся изменил работу после сдачи. В настоящее время используется только для вопросов, когда учащийся редактирует свой ответ.

GradeHistory

История оценок за эту работу.

JSON-представление
{
  "pointsEarned": number,
  "maxPoints": number,
  "gradeTimestamp": string,
  "actorUserId": string,
  "gradeChangeType": enum (GradeChangeType)
}
Поля
pointsEarned

number

Числитель оценки в истории оценок за работу.

maxPoints

number

Знаменатель оценки в истории оценок за работу.

gradeTimestamp

string (Timestamp format)

Когда оценка за работу была изменена.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

actorUserId

string

Преподаватель, который изменил оценку.

gradeChangeType

enum (GradeChangeType)

Тип изменения оценки в истории оценок работы.

GradeChangeType

Возможные типы изменений оценок.

Перечисления
UNKNOWN_GRADE_CHANGE_TYPE Не указан тип изменения оценки. Это значение не должно возвращаться.
DRAFT_GRADE_POINTS_EARNED_CHANGE Изменение числителя в черновике оценки.
ASSIGNED_GRADE_POINTS_EARNED_CHANGE Изменение числителя в назначенной оценке.
MAX_POINTS_CHANGE Изменение максимального балла оценки.

Методы

get

Возвращает работу учащегося.

list

Возвращает список работ учащихся, которые запрашивающий пользователь может просматривать с учетом областей действия OAuth в запросе.

modifyAttachments

Изменяет прикрепленные файлы в работе учащегося.

patch

Обновляет одно или несколько полей в работе учащегося.

reclaim

Отменяет сдачу работы от имени учащегося, которому она принадлежит.

return

Возвращает работу учащегося.

turnIn

Сдает работу учащегося.