# Google Classroom API . courses . courseWork . studentSubmissions

## Instance Methods

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.

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.

Retrieves the next page of results.

Modifies attachments of student submission. Attachments may only be added to student submissions whose type is `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.

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.

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 ownes 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.

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.

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

`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.

    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 an 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.
        "userId": "A String", # Identifier for the student that owns this submission. Read-only.
        "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. 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.
        "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
          "answer": "A String", # Student's select choice.
        },
        "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
        "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 SUBMISSION_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 available, but others (e.g. title) may not be.
            { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
              "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.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
                "formUrl": "A String", # URL of the form.
                "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. If `user_id` is specified, 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.
      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 an 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.
            "userId": "A String", # Identifier for the student that owns this submission. Read-only.
            "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. 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.
            "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
              "answer": "A String", # Student's select choice.
            },
            "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
            "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 SUBMISSION_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 available, but others (e.g. title) may not be.
                { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
                  "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.
                    "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
                    "formUrl": "A String", # URL of the form.
                    "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 whose type is `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. This may only contain link attachments.
          { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
            "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.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
              "formUrl": "A String", # URL of the form.
              "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.

    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 an 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.
        "userId": "A String", # Identifier for the student that owns this submission. Read-only.
        "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. 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.
        "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
          "answer": "A String", # Student's select choice.
        },
        "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
        "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 SUBMISSION_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 available, but others (e.g. title) may not be.
            { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
              "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.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
                "formUrl": "A String", # URL of the form.
                "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 an 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.
      "userId": "A String", # Identifier for the student that owns this submission. Read-only.
      "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. 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.
      "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
        "answer": "A String", # Student's select choice.
      },
      "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
      "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 SUBMISSION_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 available, but others (e.g. title) may not be.
          { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
            "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.
              "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
              "formUrl": "A String", # URL of the form.
              "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.

    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 an 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.
        "userId": "A String", # Identifier for the student that owns this submission. Read-only.
        "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. 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.
        "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
          "answer": "A String", # Student's select choice.
        },
        "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
        "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 SUBMISSION_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 available, but others (e.g. title) may not be.
            { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
              "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.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
                "formUrl": "A String", # URL of the form.
                "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 ownes 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.

    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.

    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.

    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 `{}`.
      }