patch method
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 used to
create the corresponding course work item or an add-on attachment with
Grade Sync enabled on 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 or an
add-on attachment on the corresponding course work with Grade Sync
enabled, 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.
request - The metadata request object.
Request parameters:
courseId - Identifier of the course. This identifier can be either the
Classroom-assigned identifier or an alias.
courseWorkId - Identifier of the course work.
id - Identifier of the student submission.
updateMask - 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
$fields - Selector specifying which fields to include in a partial
response.
Completes with a StudentSubmission.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<StudentSubmission> patch(
StudentSubmission request,
core.String courseId,
core.String courseWorkId,
core.String id, {
core.String? updateMask,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
'updateMask': ?updateMask == null ? null : [updateMask],
'fields': ?$fields == null ? null : [$fields],
};
final url_ =
'v1/courses/' +
commons.escapeVariable('$courseId') +
'/courseWork/' +
commons.escapeVariable('$courseWorkId') +
'/studentSubmissions/' +
commons.escapeVariable('$id');
final response_ = await _requester.request(
url_,
'PATCH',
body: body_,
queryParams: queryParams_,
);
return StudentSubmission.fromJson(
response_ as core.Map<core.String, core.dynamic>,
);
}