# Google Classroom API . courses . teachers

## Instance Methods

Creates a teacher of a course.

Deletes a teacher of a course.

Returns a teacher of a course.

Returns a list of teachers of this course that the requester

Retrieves the next page of results.

### Method Details

`create(courseId, body, x__xgafv=None)`

    Creates a teacher of a course.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not  permitted to create
    teachers in this course or for access errors.
    * `NOT_FOUND` if the requested course ID does not exist.
    * `FAILED_PRECONDITION` if the requested user's account is disabled,
    for the following request errors:
        * CourseMemberLimitReached
        * CourseNotModifiable
        * CourseTeacherLimitReached
        * UserGroupsMembershipLimitReached
    * `ALREADY_EXISTS` if the user is already a teacher or student in the
    course.

    Args:
      courseId: string, Identifier of the course.
    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:

    { # Teacher of a course.
        "courseId": "A String", # Identifier of the course.
            #
            # Read-only.
        "profile": { # Global information for a user. # Global user information for the teacher.
            #
            # Read-only.
          "permissions": [ # Global permissions of the user.
              #
              # Read-only.
            { # Global user permission description.
              "permission": "A String", # Permission value.
            },
          ],
          "emailAddress": "A String", # Email address of the user.
              #
              # Read-only.
          "id": "A String", # Identifier of the user.
              #
              # Read-only.
          "name": { # Details of the user's name. # Name of the user.
              #
              # Read-only.
            "fullName": "A String", # The user's full name formed by concatenating the first and last name
                # values.
                #
                # Read-only.
            "givenName": "A String", # The user's first name.
                #
                # Read-only.
            "familyName": "A String", # The user's last name.
                #
                # Read-only.
          },
          "photoUrl": "A String", # URL of user's profile photo.
              #
              # Read-only.
        },
        "userId": "A String", # Identifier of the user.
            #
            # When specified as a parameter of a request, this 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
      }

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

    Returns:
      An object of the form:

        { # Teacher of a course.
          "courseId": "A String", # Identifier of the course.
              #
              # Read-only.
          "profile": { # Global information for a user. # Global user information for the teacher.
              #
              # Read-only.
            "permissions": [ # Global permissions of the user.
                #
                # Read-only.
              { # Global user permission description.
                "permission": "A String", # Permission value.
              },
            ],
            "emailAddress": "A String", # Email address of the user.
                #
                # Read-only.
            "id": "A String", # Identifier of the user.
                #
                # Read-only.
            "name": { # Details of the user's name. # Name of the user.
                #
                # Read-only.
              "fullName": "A String", # The user's full name formed by concatenating the first and last name
                  # values.
                  #
                  # Read-only.
              "givenName": "A String", # The user's first name.
                  #
                  # Read-only.
              "familyName": "A String", # The user's last name.
                  #
                  # Read-only.
            },
            "photoUrl": "A String", # URL of user's profile photo.
                #
                # Read-only.
          },
          "userId": "A String", # Identifier of the user.
              #
              # When specified as a parameter of a request, this 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
        }

`delete(courseId, userId, x__xgafv=None)`

    Deletes a teacher of a course.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to delete
    teachers of this course or for access errors.
    * `NOT_FOUND` if no teacher of this course has the requested ID or if the
    course does not exist.
    * `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher
    of this course.

    Args:
      courseId: string, Identifier of the course.
    This identifier can be either the Classroom-assigned identifier or an
    alias. (required)
      userId: string, Identifier of the teacher to delete. 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 (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(courseId, userId, x__xgafv=None)`

    Returns a teacher of a course.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to view
    teachers of this course or for access errors.
    * `NOT_FOUND` if no teacher of this course has the requested ID or if the
    course does not exist.

    Args:
      courseId: string, Identifier of the course.
    This identifier can be either the Classroom-assigned identifier or an
    alias. (required)
      userId: string, Identifier of the teacher to return. 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 (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Teacher of a course.
          "courseId": "A String", # Identifier of the course.
              #
              # Read-only.
          "profile": { # Global information for a user. # Global user information for the teacher.
              #
              # Read-only.
            "permissions": [ # Global permissions of the user.
                #
                # Read-only.
              { # Global user permission description.
                "permission": "A String", # Permission value.
              },
            ],
            "emailAddress": "A String", # Email address of the user.
                #
                # Read-only.
            "id": "A String", # Identifier of the user.
                #
                # Read-only.
            "name": { # Details of the user's name. # Name of the user.
                #
                # Read-only.
              "fullName": "A String", # The user's full name formed by concatenating the first and last name
                  # values.
                  #
                  # Read-only.
              "givenName": "A String", # The user's first name.
                  #
                  # Read-only.
              "familyName": "A String", # The user's last name.
                  #
                  # Read-only.
            },
            "photoUrl": "A String", # URL of user's profile photo.
                #
                # Read-only.
          },
          "userId": "A String", # Identifier of the user.
              #
              # When specified as a parameter of a request, this 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
        }

`list(courseId, pageSize=None, x__xgafv=None, pageToken=None)`

    Returns a list of teachers of this course that the requester
    is permitted to view.

    This method returns the following error codes:

    * `NOT_FOUND` if the course does not exist.
    * `PERMISSION_DENIED` for access errors.

    Args:
      courseId: string, Identifier of the course.
    This identifier can be either the Classroom-assigned identifier or an
    alias. (required)
      pageSize: integer, Maximum number of items to return. Zero means no maximum.

    The server may return fewer than the specified number of results.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      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.

    Returns:
      An object of the form:

        { # Response when listing teachers.
        "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further
            # results are available.
        "teachers": [ # Teachers who match the list request.
          { # Teacher of a course.
              "courseId": "A String", # Identifier of the course.
                  #
                  # Read-only.
              "profile": { # Global information for a user. # Global user information for the teacher.
                  #
                  # Read-only.
                "permissions": [ # Global permissions of the user.
                    #
                    # Read-only.
                  { # Global user permission description.
                    "permission": "A String", # Permission value.
                  },
                ],
                "emailAddress": "A String", # Email address of the user.
                    #
                    # Read-only.
                "id": "A String", # Identifier of the user.
                    #
                    # Read-only.
                "name": { # Details of the user's name. # Name of the user.
                    #
                    # Read-only.
                  "fullName": "A String", # The user's full name formed by concatenating the first and last name
                      # values.
                      #
                      # Read-only.
                  "givenName": "A String", # The user's first name.
                      #
                      # Read-only.
                  "familyName": "A String", # The user's last name.
                      #
                      # Read-only.
                },
                "photoUrl": "A String", # URL of user's profile photo.
                    #
                    # Read-only.
              },
              "userId": "A String", # Identifier of the user.
                  #
                  # When specified as a parameter of a request, this 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
            },
        ],
      }

`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.