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_DENIED
if 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_ARGUMENT
if the request is malformed. *NOT_FOUND
if the requested course does not exist. *FAILED_PRECONDITION
for 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>);
}