create method

Future<CourseWork> create(
  1. CourseWork request,
  2. String courseId, {
  3. String? $fields,
})

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>);
}