Google Classroom API . courses . courseWork . studentSubmissions

Instance Methods

close()

Close httplib2 connections.

get(courseId, courseWorkId, id, x__xgafv=None)

Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

list(courseId, courseWorkId, late=None, pageSize=None, pageToken=None, states=None, userId=None, x__xgafv=None)

Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.

list_next()

Retrieves the next page of results.

modifyAttachments(courseId, courseWorkId, id, body=None, x__xgafv=None)

Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

patch(courseId, courseWorkId, id, body=None, updateMask=None, x__xgafv=None)

Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

reclaim(courseId, courseWorkId, id, body=None, x__xgafv=None)

Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

return_(courseId, courseWorkId, id, body=None, x__xgafv=None)

Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

turnIn(courseId, courseWorkId, id, body=None, x__xgafv=None)

Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

Method Details

close()
Close httplib2 connections.
get(courseId, courseWorkId, id, x__xgafv=None)
Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

Args:
  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  courseWorkId: string, Identifier of the course work. (required)
  id: string, Identifier of the student submission. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Student submission for course work. `StudentSubmission` items are generated when a `CourseWork` item is created. Student submissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
  "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
  "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers.
  "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments.
    "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of STUDENT_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are always available, but others (for example, title) may not be.
      { # Attachment added to student assignment work. When creating attachments, setting the `form` field is not supported.
        "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
          "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
          "id": "A String", # Drive API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
          "title": "A String", # Title of the Drive item. Read-only.
        },
        "form": { # Google Forms item. # Google Forms attachment.
          "formUrl": "A String", # URL of the form.
          "responseUrl": "A String", # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
          "title": "A String", # Title of the Form. Read-only.
        },
        "link": { # URL item. # Link attachment.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
          "title": "A String", # Title of the target of the URL. Read-only.
          "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
        },
        "youTubeVideo": { # YouTube video item. # Youtube video attachment.
          "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
          "id": "A String", # YouTube API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
          "title": "A String", # Title of the YouTube video. Read-only.
        },
      },
    ],
  },
  "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.
  "courseId": "A String", # Identifier of the course. Read-only.
  "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
  "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
  "creationTime": "A String", # Creation time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers.
  "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
  "late": True or False, # Whether this submission is late. Read-only.
  "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION.
    "answer": "A String", # Student's select choice.
  },
  "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
    "answer": "A String", # Student response to a short-answer question.
  },
  "state": "A String", # State of this submission. Read-only.
  "submissionHistory": [ # The history of the submission (includes state and grade histories). Read-only.
    { # The history of the submission. This currently includes state and grade histories.
      "gradeHistory": { # The history of each grade on this submission. # The grade history information of the submission, if present.
        "actorUserId": "A String", # The teacher who made the grade change.
        "gradeChangeType": "A String", # The type of grade change at this time in the submission grade history.
        "gradeTimestamp": "A String", # When the grade of the submission was changed.
        "maxPoints": 3.14, # The denominator of the grade at this time in the submission grade history.
        "pointsEarned": 3.14, # The numerator of the grade at this time in the submission grade history.
      },
      "stateHistory": { # The history of each state this submission has been in. # The state history information of the submission, if present.
        "actorUserId": "A String", # The teacher or student who made the change.
        "state": "A String", # The workflow pipeline stage.
        "stateTimestamp": "A String", # When the submission entered this state.
      },
    },
  ],
  "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "userId": "A String", # Identifier for the student that owns this submission. Read-only.
}
list(courseId, courseWorkId, late=None, pageSize=None, pageToken=None, states=None, userId=None, x__xgafv=None)
Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.

Args:
  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  courseWorkId: string, Identifier of the student work to request. This may be set to the string literal `"-"` to request student work for all course work in the specified course. (required)
  late: string, Requested lateness value. If specified, returned student submissions are restricted by the requested value. If unspecified, submissions are returned regardless of `late` value.
    Allowed values
      LATE_VALUES_UNSPECIFIED - No restriction on submission late values specified.
      LATE_ONLY - Return StudentSubmissions where late is true.
      NOT_LATE_ONLY - Return StudentSubmissions where late is false.
  pageSize: integer, Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
  pageToken: string, nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.
  states: string, Requested submission states. If specified, returned student submissions match one of the specified submission states. (repeated)
    Allowed values
      SUBMISSION_STATE_UNSPECIFIED - No state specified. This should never be returned.
      NEW - The student has never accessed this submission. Attachments are not returned and timestamps is not set.
      CREATED - Has been created.
      TURNED_IN - Has been turned in to the teacher.
      RETURNED - Has been returned to the student.
      RECLAIMED_BY_STUDENT - Student chose to "unsubmit" the assignment.
  userId: string, Optional argument to restrict returned student work to those owned by the student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response when listing student submissions.
  "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further results are available.
  "studentSubmissions": [ # Student work that matches the request.
    { # Student submission for course work. `StudentSubmission` items are generated when a `CourseWork` item is created. Student submissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
      "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
      "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers.
      "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments.
        "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of STUDENT_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are always available, but others (for example, title) may not be.
          { # Attachment added to student assignment work. When creating attachments, setting the `form` field is not supported.
            "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
              "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
              "id": "A String", # Drive API resource ID.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
              "title": "A String", # Title of the Drive item. Read-only.
            },
            "form": { # Google Forms item. # Google Forms attachment.
              "formUrl": "A String", # URL of the form.
              "responseUrl": "A String", # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
              "title": "A String", # Title of the Form. Read-only.
            },
            "link": { # URL item. # Link attachment.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
              "title": "A String", # Title of the target of the URL. Read-only.
              "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
            },
            "youTubeVideo": { # YouTube video item. # Youtube video attachment.
              "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
              "id": "A String", # YouTube API resource ID.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
              "title": "A String", # Title of the YouTube video. Read-only.
            },
          },
        ],
      },
      "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.
      "courseId": "A String", # Identifier of the course. Read-only.
      "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
      "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
      "creationTime": "A String", # Creation time of this submission. This may be unset if the student has not accessed this item. Read-only.
      "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers.
      "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
      "late": True or False, # Whether this submission is late. Read-only.
      "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION.
        "answer": "A String", # Student's select choice.
      },
      "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
        "answer": "A String", # Student response to a short-answer question.
      },
      "state": "A String", # State of this submission. Read-only.
      "submissionHistory": [ # The history of the submission (includes state and grade histories). Read-only.
        { # The history of the submission. This currently includes state and grade histories.
          "gradeHistory": { # The history of each grade on this submission. # The grade history information of the submission, if present.
            "actorUserId": "A String", # The teacher who made the grade change.
            "gradeChangeType": "A String", # The type of grade change at this time in the submission grade history.
            "gradeTimestamp": "A String", # When the grade of the submission was changed.
            "maxPoints": 3.14, # The denominator of the grade at this time in the submission grade history.
            "pointsEarned": 3.14, # The numerator of the grade at this time in the submission grade history.
          },
          "stateHistory": { # The history of each state this submission has been in. # The state history information of the submission, if present.
            "actorUserId": "A String", # The teacher or student who made the change.
            "state": "A String", # The workflow pipeline stage.
            "stateTimestamp": "A String", # When the submission entered this state.
          },
        },
      ],
      "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
      "userId": "A String", # Identifier for the student that owns this submission. Read-only.
    },
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
modifyAttachments(courseId, courseWorkId, id, body=None, x__xgafv=None)
Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

Args:
  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  courseWorkId: string, Identifier of the course work. (required)
  id: string, Identifier of the student submission. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to modify the attachments of a student submission.
  "addAttachments": [ # Attachments to add. A student submission may not have more than 20 attachments. Form attachments are not supported.
    { # Attachment added to student assignment work. When creating attachments, setting the `form` field is not supported.
      "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
        "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
        "id": "A String", # Drive API resource ID.
        "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
        "title": "A String", # Title of the Drive item. Read-only.
      },
      "form": { # Google Forms item. # Google Forms attachment.
        "formUrl": "A String", # URL of the form.
        "responseUrl": "A String", # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
        "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
        "title": "A String", # Title of the Form. Read-only.
      },
      "link": { # URL item. # Link attachment.
        "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
        "title": "A String", # Title of the target of the URL. Read-only.
        "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
      },
      "youTubeVideo": { # YouTube video item. # Youtube video attachment.
        "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
        "id": "A String", # YouTube API resource ID.
        "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
        "title": "A String", # Title of the YouTube video. Read-only.
      },
    },
  ],
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Student submission for course work. `StudentSubmission` items are generated when a `CourseWork` item is created. Student submissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
  "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
  "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers.
  "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments.
    "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of STUDENT_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are always available, but others (for example, title) may not be.
      { # Attachment added to student assignment work. When creating attachments, setting the `form` field is not supported.
        "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
          "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
          "id": "A String", # Drive API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
          "title": "A String", # Title of the Drive item. Read-only.
        },
        "form": { # Google Forms item. # Google Forms attachment.
          "formUrl": "A String", # URL of the form.
          "responseUrl": "A String", # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
          "title": "A String", # Title of the Form. Read-only.
        },
        "link": { # URL item. # Link attachment.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
          "title": "A String", # Title of the target of the URL. Read-only.
          "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
        },
        "youTubeVideo": { # YouTube video item. # Youtube video attachment.
          "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
          "id": "A String", # YouTube API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
          "title": "A String", # Title of the YouTube video. Read-only.
        },
      },
    ],
  },
  "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.
  "courseId": "A String", # Identifier of the course. Read-only.
  "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
  "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
  "creationTime": "A String", # Creation time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers.
  "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
  "late": True or False, # Whether this submission is late. Read-only.
  "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION.
    "answer": "A String", # Student's select choice.
  },
  "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
    "answer": "A String", # Student response to a short-answer question.
  },
  "state": "A String", # State of this submission. Read-only.
  "submissionHistory": [ # The history of the submission (includes state and grade histories). Read-only.
    { # The history of the submission. This currently includes state and grade histories.
      "gradeHistory": { # The history of each grade on this submission. # The grade history information of the submission, if present.
        "actorUserId": "A String", # The teacher who made the grade change.
        "gradeChangeType": "A String", # The type of grade change at this time in the submission grade history.
        "gradeTimestamp": "A String", # When the grade of the submission was changed.
        "maxPoints": 3.14, # The denominator of the grade at this time in the submission grade history.
        "pointsEarned": 3.14, # The numerator of the grade at this time in the submission grade history.
      },
      "stateHistory": { # The history of each state this submission has been in. # The state history information of the submission, if present.
        "actorUserId": "A String", # The teacher or student who made the change.
        "state": "A String", # The workflow pipeline stage.
        "stateTimestamp": "A String", # When the submission entered this state.
      },
    },
  ],
  "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "userId": "A String", # Identifier for the student that owns this submission. Read-only.
}
patch(courseId, courseWorkId, id, body=None, updateMask=None, x__xgafv=None)
Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

Args:
  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  courseWorkId: string, Identifier of the course work. (required)
  id: string, Identifier of the student submission. (required)
  body: object, The request body.
    The object takes the form of:

{ # Student submission for course work. `StudentSubmission` items are generated when a `CourseWork` item is created. Student submissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
  "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
  "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers.
  "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments.
    "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of STUDENT_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are always available, but others (for example, title) may not be.
      { # Attachment added to student assignment work. When creating attachments, setting the `form` field is not supported.
        "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
          "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
          "id": "A String", # Drive API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
          "title": "A String", # Title of the Drive item. Read-only.
        },
        "form": { # Google Forms item. # Google Forms attachment.
          "formUrl": "A String", # URL of the form.
          "responseUrl": "A String", # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
          "title": "A String", # Title of the Form. Read-only.
        },
        "link": { # URL item. # Link attachment.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
          "title": "A String", # Title of the target of the URL. Read-only.
          "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
        },
        "youTubeVideo": { # YouTube video item. # Youtube video attachment.
          "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
          "id": "A String", # YouTube API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
          "title": "A String", # Title of the YouTube video. Read-only.
        },
      },
    ],
  },
  "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.
  "courseId": "A String", # Identifier of the course. Read-only.
  "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
  "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
  "creationTime": "A String", # Creation time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers.
  "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
  "late": True or False, # Whether this submission is late. Read-only.
  "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION.
    "answer": "A String", # Student's select choice.
  },
  "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
    "answer": "A String", # Student response to a short-answer question.
  },
  "state": "A String", # State of this submission. Read-only.
  "submissionHistory": [ # The history of the submission (includes state and grade histories). Read-only.
    { # The history of the submission. This currently includes state and grade histories.
      "gradeHistory": { # The history of each grade on this submission. # The grade history information of the submission, if present.
        "actorUserId": "A String", # The teacher who made the grade change.
        "gradeChangeType": "A String", # The type of grade change at this time in the submission grade history.
        "gradeTimestamp": "A String", # When the grade of the submission was changed.
        "maxPoints": 3.14, # The denominator of the grade at this time in the submission grade history.
        "pointsEarned": 3.14, # The numerator of the grade at this time in the submission grade history.
      },
      "stateHistory": { # The history of each state this submission has been in. # The state history information of the submission, if present.
        "actorUserId": "A String", # The teacher or student who made the change.
        "state": "A String", # The workflow pipeline stage.
        "stateTimestamp": "A String", # When the submission entered this state.
      },
    },
  ],
  "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "userId": "A String", # Identifier for the student that owns this submission. Read-only.
}

  updateMask: string, Mask that identifies which fields on the student submission to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields may be specified by teachers: * `draft_grade` * `assigned_grade`
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Student submission for course work. `StudentSubmission` items are generated when a `CourseWork` item is created. Student submissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
  "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
  "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers.
  "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments.
    "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of STUDENT_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are always available, but others (for example, title) may not be.
      { # Attachment added to student assignment work. When creating attachments, setting the `form` field is not supported.
        "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
          "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
          "id": "A String", # Drive API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
          "title": "A String", # Title of the Drive item. Read-only.
        },
        "form": { # Google Forms item. # Google Forms attachment.
          "formUrl": "A String", # URL of the form.
          "responseUrl": "A String", # URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
          "title": "A String", # Title of the Form. Read-only.
        },
        "link": { # URL item. # Link attachment.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
          "title": "A String", # Title of the target of the URL. Read-only.
          "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
        },
        "youTubeVideo": { # YouTube video item. # Youtube video attachment.
          "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
          "id": "A String", # YouTube API resource ID.
          "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
          "title": "A String", # Title of the YouTube video. Read-only.
        },
      },
    ],
  },
  "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.
  "courseId": "A String", # Identifier of the course. Read-only.
  "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
  "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
  "creationTime": "A String", # Creation time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers.
  "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
  "late": True or False, # Whether this submission is late. Read-only.
  "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION.
    "answer": "A String", # Student's select choice.
  },
  "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
    "answer": "A String", # Student response to a short-answer question.
  },
  "state": "A String", # State of this submission. Read-only.
  "submissionHistory": [ # The history of the submission (includes state and grade histories). Read-only.
    { # The history of the submission. This currently includes state and grade histories.
      "gradeHistory": { # The history of each grade on this submission. # The grade history information of the submission, if present.
        "actorUserId": "A String", # The teacher who made the grade change.
        "gradeChangeType": "A String", # The type of grade change at this time in the submission grade history.
        "gradeTimestamp": "A String", # When the grade of the submission was changed.
        "maxPoints": 3.14, # The denominator of the grade at this time in the submission grade history.
        "pointsEarned": 3.14, # The numerator of the grade at this time in the submission grade history.
      },
      "stateHistory": { # The history of each state this submission has been in. # The state history information of the submission, if present.
        "actorUserId": "A String", # The teacher or student who made the change.
        "state": "A String", # The workflow pipeline stage.
        "stateTimestamp": "A String", # When the submission entered this state.
      },
    },
  ],
  "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
  "userId": "A String", # Identifier for the student that owns this submission. Read-only.
}
reclaim(courseId, courseWorkId, id, body=None, x__xgafv=None)
Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

Args:
  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  courseWorkId: string, Identifier of the course work. (required)
  id: string, Identifier of the student submission. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to reclaim a student submission.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}
return_(courseId, courseWorkId, id, body=None, x__xgafv=None)
Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

Args:
  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  courseWorkId: string, Identifier of the course work. (required)
  id: string, Identifier of the student submission. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to return a student submission.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}
turnIn(courseId, courseWorkId, id, body=None, x__xgafv=None)
Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

Args:
  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
  courseWorkId: string, Identifier of the course work. (required)
  id: string, Identifier of the student submission. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to turn in a student submission.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}