create method
Creates course work.
The resulting course work (and corresponding student submissions) are associated with the Developer Console project of the OAuth client ID used to make the request. Classroom API requests to modify course work and student submissions must be made with an OAuth client ID from the associated Developer Console project. This method returns the following error codes:
PERMISSION_DENIEDif the requesting user is not permitted to access the requested course, create course work in the requested course, share a Drive attachment, or for access errors. *INVALID_ARGUMENTif the request is malformed. *NOT_FOUNDif the requested course does not exist. *FAILED_PRECONDITIONfor the following request error: * AttachmentNotVisible
request - The metadata request object.
Request parameters:
courseId - Identifier of the course. This identifier can be either the
Classroom-assigned identifier or an alias.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a CourseWork.
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<CourseWork> create(
CourseWork request,
core.String courseId, {
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';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return CourseWork.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}