# Google Classroom API . courses . courseWork . studentSubmissions

## Instance Methods

Returns a student submission.

Returns a list of student submissions that the requester is permitted to

Retrieves the next page of results.

Modifies attachments of student submission.

Updates one or more fields of a student submission.

Reclaims a student submission on behalf of the student that owns it.

Returns a student submission.

Turns in a student submission.

### Method Details

`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.
          #
          # StudentSubmissions that have never been accessed (i.e. with `state` = NEW)
          # may not have a creation time or update time.
        "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set.
            # This must be a non-negative integer value.
            #
            # This is only visible to and modifiable by course teachers.
        "updateTime": "A String", # Last update time of this submission.
            # This may be unset if the student has not accessed this item.
            #
            # Read-only.
        "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI.
            #
            # Read-only.
        "courseId": "A String", # Identifier of the course.
            #
            # 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.
        },
        "userId": "A String", # Identifier for the student that owns this submission.
            #
            # Read-only.
        "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.
        },
        "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console
            # project making the request.
            #
            # See google.classroom.Work.CreateCourseWork for more
            # details.
            #
            # Read-only.
        "late": True or False, # Whether this submission is late.
            #
            # Read-only.
        "state": "A String", # State of this submission.
            #
            # 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.
        "assignedGrade": 3.14, # Optional grade. If unset, no grade was set.
            # This must be a non-negative integer value.
            #
            # This may be modified only by course teachers.
        "creationTime": "A String", # Creation time of this submission.
            # This may be unset if the student has not accessed this item.
            #
            # Read-only.
        "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
          "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 (e.g. title) may not be.
            { # Attachment added to student assignment work.
                #
                # When creating attachments, setting the `form` field is not supported.
              "link": { # URL item. # Link attachment.
                "url": "A String", # URL to link to.
                    # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                "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.
              },
              "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to access the Drive item.
                    #
                    # Read-only.
                "id": "A String", # Drive API resource ID.
                "title": "A String", # Title of the Drive item.
                    #
                    # Read-only.
              },
              "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to view the YouTube video.
                    #
                    # Read-only.
                "id": "A String", # YouTube API resource ID.
                "title": "A String", # Title of the YouTube video.
                    #
                    # Read-only.
              },
              "form": { # Google Forms item. # Google Forms attachment.
                "formUrl": "A String", # URL of the form.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                    #
                    # Read-only.
                "responseUrl": "A String", # URL of the form responses document.
                    # Only set if respsonses have been recorded and only when the
                    # requesting user is an editor of the form.
                    #
                    # Read-only.
                "title": "A String", # Title of the Form.
                    #
                    # Read-only.
              },
            },
          ],
        },
        "id": "A String", # Classroom-assigned Identifier for the student submission.
            # This is unique among submissions for the relevant course work.
            #
            # Read-only.
      }

`list(courseId, courseWorkId, pageSize=None, userId=None, states=None, x__xgafv=None, pageToken=None, late=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, Identifer 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)
      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.
      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
      states: string, Requested submission states. If specified, returned student submissions
    match one of the specified submission states. (repeated)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      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.
      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.

    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.
              #
              # StudentSubmissions that have never been accessed (i.e. with `state` = NEW)
              # may not have a creation time or update time.
            "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set.
                # This must be a non-negative integer value.
                #
                # This is only visible to and modifiable by course teachers.
            "updateTime": "A String", # Last update time of this submission.
                # This may be unset if the student has not accessed this item.
                #
                # Read-only.
            "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI.
                #
                # Read-only.
            "courseId": "A String", # Identifier of the course.
                #
                # 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.
            },
            "userId": "A String", # Identifier for the student that owns this submission.
                #
                # Read-only.
            "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.
            },
            "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console
                # project making the request.
                #
                # See google.classroom.Work.CreateCourseWork for more
                # details.
                #
                # Read-only.
            "late": True or False, # Whether this submission is late.
                #
                # Read-only.
            "state": "A String", # State of this submission.
                #
                # 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.
            "assignedGrade": 3.14, # Optional grade. If unset, no grade was set.
                # This must be a non-negative integer value.
                #
                # This may be modified only by course teachers.
            "creationTime": "A String", # Creation time of this submission.
                # This may be unset if the student has not accessed this item.
                #
                # Read-only.
            "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
              "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 (e.g. title) may not be.
                { # Attachment added to student assignment work.
                    #
                    # When creating attachments, setting the `form` field is not supported.
                  "link": { # URL item. # Link attachment.
                    "url": "A String", # URL to link to.
                        # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                    "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.
                  },
                  "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                    "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                        #
                        # Read-only.
                    "alternateLink": "A String", # URL that can be used to access the Drive item.
                        #
                        # Read-only.
                    "id": "A String", # Drive API resource ID.
                    "title": "A String", # Title of the Drive item.
                        #
                        # Read-only.
                  },
                  "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                    "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                        #
                        # Read-only.
                    "alternateLink": "A String", # URL that can be used to view the YouTube video.
                        #
                        # Read-only.
                    "id": "A String", # YouTube API resource ID.
                    "title": "A String", # Title of the YouTube video.
                        #
                        # Read-only.
                  },
                  "form": { # Google Forms item. # Google Forms attachment.
                    "formUrl": "A String", # URL of the form.
                    "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                        #
                        # Read-only.
                    "responseUrl": "A String", # URL of the form responses document.
                        # Only set if respsonses have been recorded and only when the
                        # requesting user is an editor of the form.
                        #
                        # Read-only.
                    "title": "A String", # Title of the Form.
                        #
                        # Read-only.
                  },
                },
              ],
            },
            "id": "A String", # Classroom-assigned Identifier for the student submission.
                # This is unique among submissions for the relevant course work.
                #
                # Read-only.
          },
        ],
      }

`list_next(previous_request, previous_response)`

    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, 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. (required)
        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.
            "link": { # URL item. # Link attachment.
              "url": "A String", # URL to link to.
                  # This must be a valid UTF-8 string containing between 1 and 2024 characters.
              "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.
            },
            "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                  #
                  # Read-only.
              "alternateLink": "A String", # URL that can be used to access the Drive item.
                  #
                  # Read-only.
              "id": "A String", # Drive API resource ID.
              "title": "A String", # Title of the Drive item.
                  #
                  # Read-only.
            },
            "youTubeVideo": { # YouTube video item. # Youtube video attachment.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                  #
                  # Read-only.
              "alternateLink": "A String", # URL that can be used to view the YouTube video.
                  #
                  # Read-only.
              "id": "A String", # YouTube API resource ID.
              "title": "A String", # Title of the YouTube video.
                  #
                  # Read-only.
            },
            "form": { # Google Forms item. # Google Forms attachment.
              "formUrl": "A String", # URL of the form.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                  #
                  # Read-only.
              "responseUrl": "A String", # URL of the form responses document.
                  # Only set if respsonses have been recorded and only when the
                  # requesting user is an editor of the form.
                  #
                  # Read-only.
              "title": "A String", # Title of the Form.
                  #
                  # 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.
          #
          # StudentSubmissions that have never been accessed (i.e. with `state` = NEW)
          # may not have a creation time or update time.
        "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set.
            # This must be a non-negative integer value.
            #
            # This is only visible to and modifiable by course teachers.
        "updateTime": "A String", # Last update time of this submission.
            # This may be unset if the student has not accessed this item.
            #
            # Read-only.
        "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI.
            #
            # Read-only.
        "courseId": "A String", # Identifier of the course.
            #
            # 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.
        },
        "userId": "A String", # Identifier for the student that owns this submission.
            #
            # Read-only.
        "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.
        },
        "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console
            # project making the request.
            #
            # See google.classroom.Work.CreateCourseWork for more
            # details.
            #
            # Read-only.
        "late": True or False, # Whether this submission is late.
            #
            # Read-only.
        "state": "A String", # State of this submission.
            #
            # 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.
        "assignedGrade": 3.14, # Optional grade. If unset, no grade was set.
            # This must be a non-negative integer value.
            #
            # This may be modified only by course teachers.
        "creationTime": "A String", # Creation time of this submission.
            # This may be unset if the student has not accessed this item.
            #
            # Read-only.
        "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
          "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 (e.g. title) may not be.
            { # Attachment added to student assignment work.
                #
                # When creating attachments, setting the `form` field is not supported.
              "link": { # URL item. # Link attachment.
                "url": "A String", # URL to link to.
                    # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                "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.
              },
              "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to access the Drive item.
                    #
                    # Read-only.
                "id": "A String", # Drive API resource ID.
                "title": "A String", # Title of the Drive item.
                    #
                    # Read-only.
              },
              "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to view the YouTube video.
                    #
                    # Read-only.
                "id": "A String", # YouTube API resource ID.
                "title": "A String", # Title of the YouTube video.
                    #
                    # Read-only.
              },
              "form": { # Google Forms item. # Google Forms attachment.
                "formUrl": "A String", # URL of the form.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                    #
                    # Read-only.
                "responseUrl": "A String", # URL of the form responses document.
                    # Only set if respsonses have been recorded and only when the
                    # requesting user is an editor of the form.
                    #
                    # Read-only.
                "title": "A String", # Title of the Form.
                    #
                    # Read-only.
              },
            },
          ],
        },
        "id": "A String", # Classroom-assigned Identifier for the student submission.
            # This is unique among submissions for the relevant course work.
            #
            # Read-only.
      }

`patch(courseId, courseWorkId, id, body, 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. (required)
        The object takes the form of:

    { # Student submission for course work.
        #
        # StudentSubmission items are generated when a CourseWork item is created.
        #
        # StudentSubmissions that have never been accessed (i.e. with `state` = NEW)
        # may not have a creation time or update time.
      "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set.
          # This must be a non-negative integer value.
          #
          # This is only visible to and modifiable by course teachers.
      "updateTime": "A String", # Last update time of this submission.
          # This may be unset if the student has not accessed this item.
          #
          # Read-only.
      "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI.
          #
          # Read-only.
      "courseId": "A String", # Identifier of the course.
          #
          # 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.
      },
      "userId": "A String", # Identifier for the student that owns this submission.
          #
          # Read-only.
      "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.
      },
      "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console
          # project making the request.
          #
          # See google.classroom.Work.CreateCourseWork for more
          # details.
          #
          # Read-only.
      "late": True or False, # Whether this submission is late.
          #
          # Read-only.
      "state": "A String", # State of this submission.
          #
          # 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.
      "assignedGrade": 3.14, # Optional grade. If unset, no grade was set.
          # This must be a non-negative integer value.
          #
          # This may be modified only by course teachers.
      "creationTime": "A String", # Creation time of this submission.
          # This may be unset if the student has not accessed this item.
          #
          # Read-only.
      "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
        "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 (e.g. title) may not be.
          { # Attachment added to student assignment work.
              #
              # When creating attachments, setting the `form` field is not supported.
            "link": { # URL item. # Link attachment.
              "url": "A String", # URL to link to.
                  # This must be a valid UTF-8 string containing between 1 and 2024 characters.
              "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.
            },
            "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                  #
                  # Read-only.
              "alternateLink": "A String", # URL that can be used to access the Drive item.
                  #
                  # Read-only.
              "id": "A String", # Drive API resource ID.
              "title": "A String", # Title of the Drive item.
                  #
                  # Read-only.
            },
            "youTubeVideo": { # YouTube video item. # Youtube video attachment.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                  #
                  # Read-only.
              "alternateLink": "A String", # URL that can be used to view the YouTube video.
                  #
                  # Read-only.
              "id": "A String", # YouTube API resource ID.
              "title": "A String", # Title of the YouTube video.
                  #
                  # Read-only.
            },
            "form": { # Google Forms item. # Google Forms attachment.
              "formUrl": "A String", # URL of the form.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                  #
                  # Read-only.
              "responseUrl": "A String", # URL of the form responses document.
                  # Only set if respsonses have been recorded and only when the
                  # requesting user is an editor of the form.
                  #
                  # Read-only.
              "title": "A String", # Title of the Form.
                  #
                  # Read-only.
            },
          },
        ],
      },
      "id": "A String", # Classroom-assigned Identifier for the student submission.
          # This is unique among submissions for the relevant course work.
          #
          # 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.
          #
          # StudentSubmissions that have never been accessed (i.e. with `state` = NEW)
          # may not have a creation time or update time.
        "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set.
            # This must be a non-negative integer value.
            #
            # This is only visible to and modifiable by course teachers.
        "updateTime": "A String", # Last update time of this submission.
            # This may be unset if the student has not accessed this item.
            #
            # Read-only.
        "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI.
            #
            # Read-only.
        "courseId": "A String", # Identifier of the course.
            #
            # 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.
        },
        "userId": "A String", # Identifier for the student that owns this submission.
            #
            # Read-only.
        "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.
        },
        "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console
            # project making the request.
            #
            # See google.classroom.Work.CreateCourseWork for more
            # details.
            #
            # Read-only.
        "late": True or False, # Whether this submission is late.
            #
            # Read-only.
        "state": "A String", # State of this submission.
            #
            # 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.
        "assignedGrade": 3.14, # Optional grade. If unset, no grade was set.
            # This must be a non-negative integer value.
            #
            # This may be modified only by course teachers.
        "creationTime": "A String", # Creation time of this submission.
            # This may be unset if the student has not accessed this item.
            #
            # Read-only.
        "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
          "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 (e.g. title) may not be.
            { # Attachment added to student assignment work.
                #
                # When creating attachments, setting the `form` field is not supported.
              "link": { # URL item. # Link attachment.
                "url": "A String", # URL to link to.
                    # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                "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.
              },
              "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to access the Drive item.
                    #
                    # Read-only.
                "id": "A String", # Drive API resource ID.
                "title": "A String", # Title of the Drive item.
                    #
                    # Read-only.
              },
              "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to view the YouTube video.
                    #
                    # Read-only.
                "id": "A String", # YouTube API resource ID.
                "title": "A String", # Title of the YouTube video.
                    #
                    # Read-only.
              },
              "form": { # Google Forms item. # Google Forms attachment.
                "formUrl": "A String", # URL of the form.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                    #
                    # Read-only.
                "responseUrl": "A String", # URL of the form responses document.
                    # Only set if respsonses have been recorded and only when the
                    # requesting user is an editor of the form.
                    #
                    # Read-only.
                "title": "A String", # Title of the Form.
                    #
                    # Read-only.
              },
            },
          ],
        },
        "id": "A String", # Classroom-assigned Identifier for the student submission.
            # This is unique among submissions for the relevant course work.
            #
            # Read-only.
      }

`reclaim(courseId, courseWorkId, id, body, 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 update 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. (required)
        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);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

`return_(courseId, courseWorkId, id, body, 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. (required)
        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);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

`turnIn(courseId, courseWorkId, id, body, 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. (required)
        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);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }