turnIn method
- TurnInStudentSubmissionRequest request,
- String courseId,
- String courseWorkId,
- String id, {
- String? $fields,
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 used to
create the corresponding course work item or an add-on attachment on 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.
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.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a Empty.
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<Empty> turnIn(
TurnInStudentSubmissionRequest request,
core.String courseId,
core.String courseWorkId,
core.String id, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
'fields': ?$fields == null ? null : [$fields],
};
final url_ =
'v1/courses/' +
commons.escapeVariable('$courseId') +
'/courseWork/' +
commons.escapeVariable('$courseWorkId') +
'/studentSubmissions/' +
commons.escapeVariable('$id') +
':turnIn';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>);
}