# Google Classroom API . courses

## Instance Methods

Returns the aliases Resource.

Returns the courseWork Resource.

Returns the students Resource.

Returns the teachers Resource.

Creates a course.

Deletes a course.

Returns a course.

Returns a list of courses that the requesting user is permitted to view,

Retrieves the next page of results.

Updates one or more fields in a course.

Updates a course.

### Method Details

`create(body, x__xgafv=None)`

    Creates a course.

    The user specified in `ownerId` is the owner of the created course
    and added as a teacher.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to create
    courses or for access errors.
    * `NOT_FOUND` if the primary teacher is not a valid user.
    * `FAILED_PRECONDITION` if the course owner's account is disabled or for
    the following request errors:
        * UserGroupsMembershipLimitReached
    * `ALREADY_EXISTS` if an alias was specified in the `id` and
    already exists.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # A Course in Classroom.
      "updateTime": "A String", # Time of the most recent update to this course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "room": "A String", # Optional room location.
          # For example, "301".
          # If set, this field must be a valid UTF-8 string and no longer than 650
          # characters.
      "name": "A String", # Name of the course.
          # For example, "10th Grade Biology".
          # The name is required. It must be between 1 and 750 characters and a valid
          # UTF-8 string.
      "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
          #
          # Read-only.
      "enrollmentCode": "A String", # Enrollment code to use when joining this course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "section": "A String", # Section of the course.
          # For example, "Period 2".
          # If set, this field must be a valid UTF-8 string and no longer than 2800
          # characters.
      "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
          #
          # Read-only.
      "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
          # This group does not accept email and can only be used for permissions.
          #
          # Read-only.
      "creationTime": "A String", # Creation time of the course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
          # This group does not accept email and can only be used for permissions.
          #
          # Read-only.
      "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
          #
          # Read-only.
        { # A set of materials that appears on the "About" page of the course.
            # These materials might include a syllabus, schedule, or other background
            # information relating to the course as a whole.
          "materials": [ # Materials attached to this set.
            { # A material attached to a course as part of a material set.
              "link": { # URL item. # Link atatchment.
                "url": "A String", # URL to link to.
                    # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                    #
                    # Read-only.
                "title": "A String", # Title of the target of the URL.
                    #
                    # Read-only.
              },
              "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to access the Drive item.
                    #
                    # Read-only.
                "id": "A String", # Drive API resource ID.
                "title": "A String", # Title of the Drive item.
                    #
                    # Read-only.
              },
              "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to view the YouTube video.
                    #
                    # Read-only.
                "id": "A String", # YouTube API resource ID.
                "title": "A String", # Title of the YouTube video.
                    #
                    # Read-only.
              },
              "form": { # Google Forms item. # Google Forms attachment.
                "formUrl": "A String", # URL of the form.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                    #
                    # Read-only.
                "responseUrl": "A String", # URL of the form responses document.
                    # Only set if respsonses have been recorded and only when the
                    # requesting user is an editor of the form.
                    #
                    # Read-only.
                "title": "A String", # Title of the Form.
                    #
                    # Read-only.
              },
            },
          ],
          "title": "A String", # Title for this set.
        },
      ],
      "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
          # course.
          #
          # This field will only be set for teachers of the course and domain administrators.
          #
          # Read-only.
        "alternateLink": "A String", # URL that can be used to access the Drive folder.
            #
            # Read-only.
        "id": "A String", # Drive API resource ID.
        "title": "A String", # Title of the Drive folder.
            #
            # Read-only.
      },
      "ownerId": "A String", # The identifier of the owner of a course.
          #
          # When specified as a parameter of a
          # create course request, this
          # field is required.
          # The identifier can be one of the following:
          #
          # * the numeric identifier for the user
          # * the email address of the user
          # * the string literal `"me"`, indicating the requesting user
          #
          # This must be set in a create request. Specifying this field in a course
          # update mask results in an `INVALID_ARGUMENT` error.
      "courseState": "A String", # State of the course.
          # If unspecified, the default state is `PROVISIONED`.
      "id": "A String", # Identifier for this course assigned by Classroom.
          #
          # When
          # creating a course,
          # you may optionally set this identifier to an
          # alias string in the
          # request to create a corresponding alias. The `id` is still assigned by
          # Classroom and cannot be updated after the course is created.
          #
          # Specifying this field in a course update mask results in an error.
      "descriptionHeading": "A String", # Optional heading for the description.
          # For example, "Welcome to 10th Grade Biology."
          # If set, this field must be a valid UTF-8 string and no longer than 3600
          # characters.
      "description": "A String", # Optional description.
          # For example, "We'll be learning about the structure of living
          # creatures from a combination of textbooks, guest lectures, and lab work.
          # Expect to be excited!"
          # If set, this field must be a valid UTF-8 string and no longer than 30,000
          # characters.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Course in Classroom.
        "updateTime": "A String", # Time of the most recent update to this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "room": "A String", # Optional room location.
            # For example, "301".
            # If set, this field must be a valid UTF-8 string and no longer than 650
            # characters.
        "name": "A String", # Name of the course.
            # For example, "10th Grade Biology".
            # The name is required. It must be between 1 and 750 characters and a valid
            # UTF-8 string.
        "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
            #
            # Read-only.
        "enrollmentCode": "A String", # Enrollment code to use when joining this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "section": "A String", # Section of the course.
            # For example, "Period 2".
            # If set, this field must be a valid UTF-8 string and no longer than 2800
            # characters.
        "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
            #
            # Read-only.
        "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "creationTime": "A String", # Creation time of the course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
            #
            # Read-only.
          { # A set of materials that appears on the "About" page of the course.
              # These materials might include a syllabus, schedule, or other background
              # information relating to the course as a whole.
            "materials": [ # Materials attached to this set.
              { # A material attached to a course as part of a material set.
                "link": { # URL item. # Link atatchment.
                  "url": "A String", # URL to link to.
                      # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                      #
                      # Read-only.
                  "title": "A String", # Title of the target of the URL.
                      #
                      # Read-only.
                },
                "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to access the Drive item.
                      #
                      # Read-only.
                  "id": "A String", # Drive API resource ID.
                  "title": "A String", # Title of the Drive item.
                      #
                      # Read-only.
                },
                "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to view the YouTube video.
                      #
                      # Read-only.
                  "id": "A String", # YouTube API resource ID.
                  "title": "A String", # Title of the YouTube video.
                      #
                      # Read-only.
                },
                "form": { # Google Forms item. # Google Forms attachment.
                  "formUrl": "A String", # URL of the form.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                      #
                      # Read-only.
                  "responseUrl": "A String", # URL of the form responses document.
                      # Only set if respsonses have been recorded and only when the
                      # requesting user is an editor of the form.
                      #
                      # Read-only.
                  "title": "A String", # Title of the Form.
                      #
                      # Read-only.
                },
              },
            ],
            "title": "A String", # Title for this set.
          },
        ],
        "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
            # course.
            #
            # This field will only be set for teachers of the course and domain administrators.
            #
            # Read-only.
          "alternateLink": "A String", # URL that can be used to access the Drive folder.
              #
              # Read-only.
          "id": "A String", # Drive API resource ID.
          "title": "A String", # Title of the Drive folder.
              #
              # Read-only.
        },
        "ownerId": "A String", # The identifier of the owner of a course.
            #
            # When specified as a parameter of a
            # create course request, this
            # field is required.
            # The identifier can be one of the following:
            #
            # * the numeric identifier for the user
            # * the email address of the user
            # * the string literal `"me"`, indicating the requesting user
            #
            # This must be set in a create request. Specifying this field in a course
            # update mask results in an `INVALID_ARGUMENT` error.
        "courseState": "A String", # State of the course.
            # If unspecified, the default state is `PROVISIONED`.
        "id": "A String", # Identifier for this course assigned by Classroom.
            #
            # When
            # creating a course,
            # you may optionally set this identifier to an
            # alias string in the
            # request to create a corresponding alias. The `id` is still assigned by
            # Classroom and cannot be updated after the course is created.
            #
            # Specifying this field in a course update mask results in an error.
        "descriptionHeading": "A String", # Optional heading for the description.
            # For example, "Welcome to 10th Grade Biology."
            # If set, this field must be a valid UTF-8 string and no longer than 3600
            # characters.
        "description": "A String", # Optional description.
            # For example, "We'll be learning about the structure of living
            # creatures from a combination of textbooks, guest lectures, and lab work.
            # Expect to be excited!"
            # If set, this field must be a valid UTF-8 string and no longer than 30,000
            # characters.
      }

`delete(id, x__xgafv=None)`

    Deletes a course.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to delete the
    requested course or for access errors.
    * `NOT_FOUND` if no course exists with the requested ID.

    Args:
      id: string, Identifier of the course to delete.
    This identifier can be either the Classroom-assigned identifier or an
    alias. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated
          # empty messages in your APIs. A typical example is to use it as the request
          # or the response type of an API method. For instance:
          #
          #     service Foo {
          #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

`get(id, x__xgafv=None)`

    Returns a course.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to access the
    requested course or for access errors.
    * `NOT_FOUND` if no course exists with the requested ID.

    Args:
      id: string, Identifier of the course to return.
    This identifier can be either the Classroom-assigned identifier or an
    alias. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Course in Classroom.
        "updateTime": "A String", # Time of the most recent update to this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "room": "A String", # Optional room location.
            # For example, "301".
            # If set, this field must be a valid UTF-8 string and no longer than 650
            # characters.
        "name": "A String", # Name of the course.
            # For example, "10th Grade Biology".
            # The name is required. It must be between 1 and 750 characters and a valid
            # UTF-8 string.
        "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
            #
            # Read-only.
        "enrollmentCode": "A String", # Enrollment code to use when joining this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "section": "A String", # Section of the course.
            # For example, "Period 2".
            # If set, this field must be a valid UTF-8 string and no longer than 2800
            # characters.
        "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
            #
            # Read-only.
        "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "creationTime": "A String", # Creation time of the course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
            #
            # Read-only.
          { # A set of materials that appears on the "About" page of the course.
              # These materials might include a syllabus, schedule, or other background
              # information relating to the course as a whole.
            "materials": [ # Materials attached to this set.
              { # A material attached to a course as part of a material set.
                "link": { # URL item. # Link atatchment.
                  "url": "A String", # URL to link to.
                      # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                      #
                      # Read-only.
                  "title": "A String", # Title of the target of the URL.
                      #
                      # Read-only.
                },
                "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to access the Drive item.
                      #
                      # Read-only.
                  "id": "A String", # Drive API resource ID.
                  "title": "A String", # Title of the Drive item.
                      #
                      # Read-only.
                },
                "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to view the YouTube video.
                      #
                      # Read-only.
                  "id": "A String", # YouTube API resource ID.
                  "title": "A String", # Title of the YouTube video.
                      #
                      # Read-only.
                },
                "form": { # Google Forms item. # Google Forms attachment.
                  "formUrl": "A String", # URL of the form.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                      #
                      # Read-only.
                  "responseUrl": "A String", # URL of the form responses document.
                      # Only set if respsonses have been recorded and only when the
                      # requesting user is an editor of the form.
                      #
                      # Read-only.
                  "title": "A String", # Title of the Form.
                      #
                      # Read-only.
                },
              },
            ],
            "title": "A String", # Title for this set.
          },
        ],
        "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
            # course.
            #
            # This field will only be set for teachers of the course and domain administrators.
            #
            # Read-only.
          "alternateLink": "A String", # URL that can be used to access the Drive folder.
              #
              # Read-only.
          "id": "A String", # Drive API resource ID.
          "title": "A String", # Title of the Drive folder.
              #
              # Read-only.
        },
        "ownerId": "A String", # The identifier of the owner of a course.
            #
            # When specified as a parameter of a
            # create course request, this
            # field is required.
            # The identifier can be one of the following:
            #
            # * the numeric identifier for the user
            # * the email address of the user
            # * the string literal `"me"`, indicating the requesting user
            #
            # This must be set in a create request. Specifying this field in a course
            # update mask results in an `INVALID_ARGUMENT` error.
        "courseState": "A String", # State of the course.
            # If unspecified, the default state is `PROVISIONED`.
        "id": "A String", # Identifier for this course assigned by Classroom.
            #
            # When
            # creating a course,
            # you may optionally set this identifier to an
            # alias string in the
            # request to create a corresponding alias. The `id` is still assigned by
            # Classroom and cannot be updated after the course is created.
            #
            # Specifying this field in a course update mask results in an error.
        "descriptionHeading": "A String", # Optional heading for the description.
            # For example, "Welcome to 10th Grade Biology."
            # If set, this field must be a valid UTF-8 string and no longer than 3600
            # characters.
        "description": "A String", # Optional description.
            # For example, "We'll be learning about the structure of living
            # creatures from a combination of textbooks, guest lectures, and lab work.
            # Expect to be excited!"
            # If set, this field must be a valid UTF-8 string and no longer than 30,000
            # characters.
      }

`list(studentId=None, pageSize=None, courseStates=None, teacherId=None, pageToken=None, x__xgafv=None)`

    Returns a list of courses that the requesting user is permitted to view,
    restricted to those that match the request.

    This method returns the following error codes:

    * `PERMISSION_DENIED` for access errors.
    * `INVALID_ARGUMENT` if the query argument is malformed.
    * `NOT_FOUND` if any users specified in the query arguments do not exist.

    Args:
      studentId: string, Restricts returned courses to those having a student with the specified
    identifier. The identifier can be one of the following:

    * the numeric identifier for the user
    * the email address of the user
    * the string literal `"me"`, indicating the requesting user
      pageSize: integer, Maximum number of items to return. Zero or unspecified indicates that the
    server may assign a maximum.

    The server may return fewer than the specified number of results.
      courseStates: string, Restricts returned courses to those in one of the specified states
    The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED. (repeated)
      teacherId: string, Restricts returned courses to those having a teacher with the specified
    identifier. The identifier can be one of the following:

    * the numeric identifier for the user
    * the email address of the user
    * the string literal `"me"`, indicating the requesting user
      pageToken: string, nextPageToken
    value returned from a previous
    list call,
    indicating that the subsequent page of results should be returned.

    The list request must be
    otherwise identical to the one that resulted in this token.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response when listing courses.
        "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further
            # results are available.
        "courses": [ # Courses that match the list request.
          { # A Course in Classroom.
            "updateTime": "A String", # Time of the most recent update to this course.
                # Specifying this field in a course update mask results in an error.
                #
                # Read-only.
            "room": "A String", # Optional room location.
                # For example, "301".
                # If set, this field must be a valid UTF-8 string and no longer than 650
                # characters.
            "name": "A String", # Name of the course.
                # For example, "10th Grade Biology".
                # The name is required. It must be between 1 and 750 characters and a valid
                # UTF-8 string.
            "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
                #
                # Read-only.
            "enrollmentCode": "A String", # Enrollment code to use when joining this course.
                # Specifying this field in a course update mask results in an error.
                #
                # Read-only.
            "section": "A String", # Section of the course.
                # For example, "Period 2".
                # If set, this field must be a valid UTF-8 string and no longer than 2800
                # characters.
            "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
                #
                # Read-only.
            "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
                # This group does not accept email and can only be used for permissions.
                #
                # Read-only.
            "creationTime": "A String", # Creation time of the course.
                # Specifying this field in a course update mask results in an error.
                #
                # Read-only.
            "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
                # This group does not accept email and can only be used for permissions.
                #
                # Read-only.
            "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
                #
                # Read-only.
              { # A set of materials that appears on the "About" page of the course.
                  # These materials might include a syllabus, schedule, or other background
                  # information relating to the course as a whole.
                "materials": [ # Materials attached to this set.
                  { # A material attached to a course as part of a material set.
                    "link": { # URL item. # Link atatchment.
                      "url": "A String", # URL to link to.
                          # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                      "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                          #
                          # Read-only.
                      "title": "A String", # Title of the target of the URL.
                          #
                          # Read-only.
                    },
                    "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                      "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                          #
                          # Read-only.
                      "alternateLink": "A String", # URL that can be used to access the Drive item.
                          #
                          # Read-only.
                      "id": "A String", # Drive API resource ID.
                      "title": "A String", # Title of the Drive item.
                          #
                          # Read-only.
                    },
                    "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                      "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                          #
                          # Read-only.
                      "alternateLink": "A String", # URL that can be used to view the YouTube video.
                          #
                          # Read-only.
                      "id": "A String", # YouTube API resource ID.
                      "title": "A String", # Title of the YouTube video.
                          #
                          # Read-only.
                    },
                    "form": { # Google Forms item. # Google Forms attachment.
                      "formUrl": "A String", # URL of the form.
                      "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                          #
                          # Read-only.
                      "responseUrl": "A String", # URL of the form responses document.
                          # Only set if respsonses have been recorded and only when the
                          # requesting user is an editor of the form.
                          #
                          # Read-only.
                      "title": "A String", # Title of the Form.
                          #
                          # Read-only.
                    },
                  },
                ],
                "title": "A String", # Title for this set.
              },
            ],
            "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
                # course.
                #
                # This field will only be set for teachers of the course and domain administrators.
                #
                # Read-only.
              "alternateLink": "A String", # URL that can be used to access the Drive folder.
                  #
                  # Read-only.
              "id": "A String", # Drive API resource ID.
              "title": "A String", # Title of the Drive folder.
                  #
                  # Read-only.
            },
            "ownerId": "A String", # The identifier of the owner of a course.
                #
                # When specified as a parameter of a
                # create course request, this
                # field is required.
                # The identifier can be one of the following:
                #
                # * the numeric identifier for the user
                # * the email address of the user
                # * the string literal `"me"`, indicating the requesting user
                #
                # This must be set in a create request. Specifying this field in a course
                # update mask results in an `INVALID_ARGUMENT` error.
            "courseState": "A String", # State of the course.
                # If unspecified, the default state is `PROVISIONED`.
            "id": "A String", # Identifier for this course assigned by Classroom.
                #
                # When
                # creating a course,
                # you may optionally set this identifier to an
                # alias string in the
                # request to create a corresponding alias. The `id` is still assigned by
                # Classroom and cannot be updated after the course is created.
                #
                # Specifying this field in a course update mask results in an error.
            "descriptionHeading": "A String", # Optional heading for the description.
                # For example, "Welcome to 10th Grade Biology."
                # If set, this field must be a valid UTF-8 string and no longer than 3600
                # characters.
            "description": "A String", # Optional description.
                # For example, "We'll be learning about the structure of living
                # creatures from a combination of textbooks, guest lectures, and lab work.
                # Expect to be excited!"
                # If set, this field must be a valid UTF-8 string and no longer than 30,000
                # characters.
          },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(id, body, updateMask=None, x__xgafv=None)`

    Updates one or more fields in a course.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to modify the
    requested course or for access errors.
    * `NOT_FOUND` if no course exists with the requested ID.
    * `INVALID_ARGUMENT` if invalid fields are specified in the update mask or
    if no update mask is supplied.
    * `FAILED_PRECONDITION` for the following request errors:
        * CourseNotModifiable

    Args:
      id: string, Identifier of the course to update.
    This identifier can be either the Classroom-assigned identifier or an
    alias. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A Course in Classroom.
      "updateTime": "A String", # Time of the most recent update to this course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "room": "A String", # Optional room location.
          # For example, "301".
          # If set, this field must be a valid UTF-8 string and no longer than 650
          # characters.
      "name": "A String", # Name of the course.
          # For example, "10th Grade Biology".
          # The name is required. It must be between 1 and 750 characters and a valid
          # UTF-8 string.
      "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
          #
          # Read-only.
      "enrollmentCode": "A String", # Enrollment code to use when joining this course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "section": "A String", # Section of the course.
          # For example, "Period 2".
          # If set, this field must be a valid UTF-8 string and no longer than 2800
          # characters.
      "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
          #
          # Read-only.
      "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
          # This group does not accept email and can only be used for permissions.
          #
          # Read-only.
      "creationTime": "A String", # Creation time of the course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
          # This group does not accept email and can only be used for permissions.
          #
          # Read-only.
      "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
          #
          # Read-only.
        { # A set of materials that appears on the "About" page of the course.
            # These materials might include a syllabus, schedule, or other background
            # information relating to the course as a whole.
          "materials": [ # Materials attached to this set.
            { # A material attached to a course as part of a material set.
              "link": { # URL item. # Link atatchment.
                "url": "A String", # URL to link to.
                    # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                    #
                    # Read-only.
                "title": "A String", # Title of the target of the URL.
                    #
                    # Read-only.
              },
              "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to access the Drive item.
                    #
                    # Read-only.
                "id": "A String", # Drive API resource ID.
                "title": "A String", # Title of the Drive item.
                    #
                    # Read-only.
              },
              "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to view the YouTube video.
                    #
                    # Read-only.
                "id": "A String", # YouTube API resource ID.
                "title": "A String", # Title of the YouTube video.
                    #
                    # Read-only.
              },
              "form": { # Google Forms item. # Google Forms attachment.
                "formUrl": "A String", # URL of the form.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                    #
                    # Read-only.
                "responseUrl": "A String", # URL of the form responses document.
                    # Only set if respsonses have been recorded and only when the
                    # requesting user is an editor of the form.
                    #
                    # Read-only.
                "title": "A String", # Title of the Form.
                    #
                    # Read-only.
              },
            },
          ],
          "title": "A String", # Title for this set.
        },
      ],
      "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
          # course.
          #
          # This field will only be set for teachers of the course and domain administrators.
          #
          # Read-only.
        "alternateLink": "A String", # URL that can be used to access the Drive folder.
            #
            # Read-only.
        "id": "A String", # Drive API resource ID.
        "title": "A String", # Title of the Drive folder.
            #
            # Read-only.
      },
      "ownerId": "A String", # The identifier of the owner of a course.
          #
          # When specified as a parameter of a
          # create course request, this
          # field is required.
          # The identifier can be one of the following:
          #
          # * the numeric identifier for the user
          # * the email address of the user
          # * the string literal `"me"`, indicating the requesting user
          #
          # This must be set in a create request. Specifying this field in a course
          # update mask results in an `INVALID_ARGUMENT` error.
      "courseState": "A String", # State of the course.
          # If unspecified, the default state is `PROVISIONED`.
      "id": "A String", # Identifier for this course assigned by Classroom.
          #
          # When
          # creating a course,
          # you may optionally set this identifier to an
          # alias string in the
          # request to create a corresponding alias. The `id` is still assigned by
          # Classroom and cannot be updated after the course is created.
          #
          # Specifying this field in a course update mask results in an error.
      "descriptionHeading": "A String", # Optional heading for the description.
          # For example, "Welcome to 10th Grade Biology."
          # If set, this field must be a valid UTF-8 string and no longer than 3600
          # characters.
      "description": "A String", # Optional description.
          # For example, "We'll be learning about the structure of living
          # creatures from a combination of textbooks, guest lectures, and lab work.
          # Expect to be excited!"
          # If set, this field must be a valid UTF-8 string and no longer than 30,000
          # characters.
    }

      updateMask: string, Mask that identifies which fields on the course to update.
    This field is required to do an update. The update will fail if invalid
    fields are specified. The following fields are valid:

    * `name`
    * `section`
    * `descriptionHeading`
    * `description`
    * `room`
    * `courseState`

    When set in a query parameter, this field should be specified as

    `updateMask=,,...`
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Course in Classroom.
        "updateTime": "A String", # Time of the most recent update to this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "room": "A String", # Optional room location.
            # For example, "301".
            # If set, this field must be a valid UTF-8 string and no longer than 650
            # characters.
        "name": "A String", # Name of the course.
            # For example, "10th Grade Biology".
            # The name is required. It must be between 1 and 750 characters and a valid
            # UTF-8 string.
        "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
            #
            # Read-only.
        "enrollmentCode": "A String", # Enrollment code to use when joining this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "section": "A String", # Section of the course.
            # For example, "Period 2".
            # If set, this field must be a valid UTF-8 string and no longer than 2800
            # characters.
        "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
            #
            # Read-only.
        "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "creationTime": "A String", # Creation time of the course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
            #
            # Read-only.
          { # A set of materials that appears on the "About" page of the course.
              # These materials might include a syllabus, schedule, or other background
              # information relating to the course as a whole.
            "materials": [ # Materials attached to this set.
              { # A material attached to a course as part of a material set.
                "link": { # URL item. # Link atatchment.
                  "url": "A String", # URL to link to.
                      # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                      #
                      # Read-only.
                  "title": "A String", # Title of the target of the URL.
                      #
                      # Read-only.
                },
                "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to access the Drive item.
                      #
                      # Read-only.
                  "id": "A String", # Drive API resource ID.
                  "title": "A String", # Title of the Drive item.
                      #
                      # Read-only.
                },
                "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to view the YouTube video.
                      #
                      # Read-only.
                  "id": "A String", # YouTube API resource ID.
                  "title": "A String", # Title of the YouTube video.
                      #
                      # Read-only.
                },
                "form": { # Google Forms item. # Google Forms attachment.
                  "formUrl": "A String", # URL of the form.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                      #
                      # Read-only.
                  "responseUrl": "A String", # URL of the form responses document.
                      # Only set if respsonses have been recorded and only when the
                      # requesting user is an editor of the form.
                      #
                      # Read-only.
                  "title": "A String", # Title of the Form.
                      #
                      # Read-only.
                },
              },
            ],
            "title": "A String", # Title for this set.
          },
        ],
        "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
            # course.
            #
            # This field will only be set for teachers of the course and domain administrators.
            #
            # Read-only.
          "alternateLink": "A String", # URL that can be used to access the Drive folder.
              #
              # Read-only.
          "id": "A String", # Drive API resource ID.
          "title": "A String", # Title of the Drive folder.
              #
              # Read-only.
        },
        "ownerId": "A String", # The identifier of the owner of a course.
            #
            # When specified as a parameter of a
            # create course request, this
            # field is required.
            # The identifier can be one of the following:
            #
            # * the numeric identifier for the user
            # * the email address of the user
            # * the string literal `"me"`, indicating the requesting user
            #
            # This must be set in a create request. Specifying this field in a course
            # update mask results in an `INVALID_ARGUMENT` error.
        "courseState": "A String", # State of the course.
            # If unspecified, the default state is `PROVISIONED`.
        "id": "A String", # Identifier for this course assigned by Classroom.
            #
            # When
            # creating a course,
            # you may optionally set this identifier to an
            # alias string in the
            # request to create a corresponding alias. The `id` is still assigned by
            # Classroom and cannot be updated after the course is created.
            #
            # Specifying this field in a course update mask results in an error.
        "descriptionHeading": "A String", # Optional heading for the description.
            # For example, "Welcome to 10th Grade Biology."
            # If set, this field must be a valid UTF-8 string and no longer than 3600
            # characters.
        "description": "A String", # Optional description.
            # For example, "We'll be learning about the structure of living
            # creatures from a combination of textbooks, guest lectures, and lab work.
            # Expect to be excited!"
            # If set, this field must be a valid UTF-8 string and no longer than 30,000
            # characters.
      }

`update(id, body, x__xgafv=None)`

    Updates a course.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to modify the
    requested course or for access errors.
    * `NOT_FOUND` if no course exists with the requested ID.
    * `FAILED_PRECONDITION` for the following request errors:
        * CourseNotModifiable

    Args:
      id: string, Identifier of the course to update.
    This identifier can be either the Classroom-assigned identifier or an
    alias. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A Course in Classroom.
      "updateTime": "A String", # Time of the most recent update to this course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "room": "A String", # Optional room location.
          # For example, "301".
          # If set, this field must be a valid UTF-8 string and no longer than 650
          # characters.
      "name": "A String", # Name of the course.
          # For example, "10th Grade Biology".
          # The name is required. It must be between 1 and 750 characters and a valid
          # UTF-8 string.
      "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
          #
          # Read-only.
      "enrollmentCode": "A String", # Enrollment code to use when joining this course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "section": "A String", # Section of the course.
          # For example, "Period 2".
          # If set, this field must be a valid UTF-8 string and no longer than 2800
          # characters.
      "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
          #
          # Read-only.
      "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
          # This group does not accept email and can only be used for permissions.
          #
          # Read-only.
      "creationTime": "A String", # Creation time of the course.
          # Specifying this field in a course update mask results in an error.
          #
          # Read-only.
      "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
          # This group does not accept email and can only be used for permissions.
          #
          # Read-only.
      "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
          #
          # Read-only.
        { # A set of materials that appears on the "About" page of the course.
            # These materials might include a syllabus, schedule, or other background
            # information relating to the course as a whole.
          "materials": [ # Materials attached to this set.
            { # A material attached to a course as part of a material set.
              "link": { # URL item. # Link atatchment.
                "url": "A String", # URL to link to.
                    # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                    #
                    # Read-only.
                "title": "A String", # Title of the target of the URL.
                    #
                    # Read-only.
              },
              "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to access the Drive item.
                    #
                    # Read-only.
                "id": "A String", # Drive API resource ID.
                "title": "A String", # Title of the Drive item.
                    #
                    # Read-only.
              },
              "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                    #
                    # Read-only.
                "alternateLink": "A String", # URL that can be used to view the YouTube video.
                    #
                    # Read-only.
                "id": "A String", # YouTube API resource ID.
                "title": "A String", # Title of the YouTube video.
                    #
                    # Read-only.
              },
              "form": { # Google Forms item. # Google Forms attachment.
                "formUrl": "A String", # URL of the form.
                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                    #
                    # Read-only.
                "responseUrl": "A String", # URL of the form responses document.
                    # Only set if respsonses have been recorded and only when the
                    # requesting user is an editor of the form.
                    #
                    # Read-only.
                "title": "A String", # Title of the Form.
                    #
                    # Read-only.
              },
            },
          ],
          "title": "A String", # Title for this set.
        },
      ],
      "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
          # course.
          #
          # This field will only be set for teachers of the course and domain administrators.
          #
          # Read-only.
        "alternateLink": "A String", # URL that can be used to access the Drive folder.
            #
            # Read-only.
        "id": "A String", # Drive API resource ID.
        "title": "A String", # Title of the Drive folder.
            #
            # Read-only.
      },
      "ownerId": "A String", # The identifier of the owner of a course.
          #
          # When specified as a parameter of a
          # create course request, this
          # field is required.
          # The identifier can be one of the following:
          #
          # * the numeric identifier for the user
          # * the email address of the user
          # * the string literal `"me"`, indicating the requesting user
          #
          # This must be set in a create request. Specifying this field in a course
          # update mask results in an `INVALID_ARGUMENT` error.
      "courseState": "A String", # State of the course.
          # If unspecified, the default state is `PROVISIONED`.
      "id": "A String", # Identifier for this course assigned by Classroom.
          #
          # When
          # creating a course,
          # you may optionally set this identifier to an
          # alias string in the
          # request to create a corresponding alias. The `id` is still assigned by
          # Classroom and cannot be updated after the course is created.
          #
          # Specifying this field in a course update mask results in an error.
      "descriptionHeading": "A String", # Optional heading for the description.
          # For example, "Welcome to 10th Grade Biology."
          # If set, this field must be a valid UTF-8 string and no longer than 3600
          # characters.
      "description": "A String", # Optional description.
          # For example, "We'll be learning about the structure of living
          # creatures from a combination of textbooks, guest lectures, and lab work.
          # Expect to be excited!"
          # If set, this field must be a valid UTF-8 string and no longer than 30,000
          # characters.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Course in Classroom.
        "updateTime": "A String", # Time of the most recent update to this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "room": "A String", # Optional room location.
            # For example, "301".
            # If set, this field must be a valid UTF-8 string and no longer than 650
            # characters.
        "name": "A String", # Name of the course.
            # For example, "10th Grade Biology".
            # The name is required. It must be between 1 and 750 characters and a valid
            # UTF-8 string.
        "alternateLink": "A String", # Absolute link to this course in the Classroom web UI.
            #
            # Read-only.
        "enrollmentCode": "A String", # Enrollment code to use when joining this course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "section": "A String", # Section of the course.
            # For example, "Period 2".
            # If set, this field must be a valid UTF-8 string and no longer than 2800
            # characters.
        "guardiansEnabled": True or False, # Whether or not guardian notifications are enabled for this course.
            #
            # Read-only.
        "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "creationTime": "A String", # Creation time of the course.
            # Specifying this field in a course update mask results in an error.
            #
            # Read-only.
        "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course.
            # This group does not accept email and can only be used for permissions.
            #
            # Read-only.
        "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course.
            #
            # Read-only.
          { # A set of materials that appears on the "About" page of the course.
              # These materials might include a syllabus, schedule, or other background
              # information relating to the course as a whole.
            "materials": [ # Materials attached to this set.
              { # A material attached to a course as part of a material set.
                "link": { # URL item. # Link atatchment.
                  "url": "A String", # URL to link to.
                      # This must be a valid UTF-8 string containing between 1 and 2024 characters.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL.
                      #
                      # Read-only.
                  "title": "A String", # Title of the target of the URL.
                      #
                      # Read-only.
                },
                "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to access the Drive item.
                      #
                      # Read-only.
                  "id": "A String", # Drive API resource ID.
                  "title": "A String", # Title of the Drive item.
                      #
                      # Read-only.
                },
                "youTubeVideo": { # YouTube video item. # Youtube video attachment.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video.
                      #
                      # Read-only.
                  "alternateLink": "A String", # URL that can be used to view the YouTube video.
                      #
                      # Read-only.
                  "id": "A String", # YouTube API resource ID.
                  "title": "A String", # Title of the YouTube video.
                      #
                      # Read-only.
                },
                "form": { # Google Forms item. # Google Forms attachment.
                  "formUrl": "A String", # URL of the form.
                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Form.
                      #
                      # Read-only.
                  "responseUrl": "A String", # URL of the form responses document.
                      # Only set if respsonses have been recorded and only when the
                      # requesting user is an editor of the form.
                      #
                      # Read-only.
                  "title": "A String", # Title of the Form.
                      #
                      # Read-only.
                },
              },
            ],
            "title": "A String", # Title for this set.
          },
        ],
        "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the
            # course.
            #
            # This field will only be set for teachers of the course and domain administrators.
            #
            # Read-only.
          "alternateLink": "A String", # URL that can be used to access the Drive folder.
              #
              # Read-only.
          "id": "A String", # Drive API resource ID.
          "title": "A String", # Title of the Drive folder.
              #
              # Read-only.
        },
        "ownerId": "A String", # The identifier of the owner of a course.
            #
            # When specified as a parameter of a
            # create course request, this
            # field is required.
            # The identifier can be one of the following:
            #
            # * the numeric identifier for the user
            # * the email address of the user
            # * the string literal `"me"`, indicating the requesting user
            #
            # This must be set in a create request. Specifying this field in a course
            # update mask results in an `INVALID_ARGUMENT` error.
        "courseState": "A String", # State of the course.
            # If unspecified, the default state is `PROVISIONED`.
        "id": "A String", # Identifier for this course assigned by Classroom.
            #
            # When
            # creating a course,
            # you may optionally set this identifier to an
            # alias string in the
            # request to create a corresponding alias. The `id` is still assigned by
            # Classroom and cannot be updated after the course is created.
            #
            # Specifying this field in a course update mask results in an error.
        "descriptionHeading": "A String", # Optional heading for the description.
            # For example, "Welcome to 10th Grade Biology."
            # If set, this field must be a valid UTF-8 string and no longer than 3600
            # characters.
        "description": "A String", # Optional description.
            # For example, "We'll be learning about the structure of living
            # creatures from a combination of textbooks, guest lectures, and lab work.
            # Expect to be excited!"
            # If set, this field must be a valid UTF-8 string and no longer than 30,000
            # characters.
      }