reclaim method
- ReclaimStudentSubmissionRequest request,
- String courseId,
- String courseWorkId,
- String id, {
- String? $fields,
Reclaims a student submission on behalf of the student that owns it.
Reclaiming a student submission transfers ownership of attached Drive
files to the student and updates the submission state. Only the student
that owns the requested student submission may call this method, and only
for a student submission that has been turned in. This request must be
made by the Developer Console project of the
OAuth client ID 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.
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> reclaim(
ReclaimStudentSubmissionRequest 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>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/courses/' +
commons.escapeVariable('$courseId') +
'/courseWork/' +
commons.escapeVariable('$courseWorkId') +
'/studentSubmissions/' +
commons.escapeVariable('$id') +
':reclaim';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>);
}