# Google Classroom API . courses . teachers

## Instance Methods

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. * `NOT_FOUND` if the requested course ID does not exist. * `ALREADY_EXISTS` if the user is already a teacher or student in the course.

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

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. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist.

Returns a list of teachers of this course that the requester is permitted to view. Fails with `NOT_FOUND` if the course does not exist.

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. * `NOT_FOUND` if the requested course ID does not exist. * `ALREADY_EXISTS` if the user is already a teacher or student in the course.

    Args:
      courseId: string, Unique identifier of the course. This may either be 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", # Unique 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.
            },
          ],
          "photoUrl": "A String", # Url of user's profile photo. Read-only
          "emailAddress": "A String", # E-mail address of the user. Read-only
          "id": "A String", # Unique 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
          },
        },
        "userId": "A String", # The identifier of the user. When specified as a parameter of request, this field may be set to an alias that identifies the teacher. The following are supported: * the e-mail address of the user * the string literal `"me"`, indicating the requesting user
      }

      x__xgafv: string, V1 error format.

    Returns:
      An object of the form:

        { # Teacher of a course.
          "courseId": "A String", # Unique 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.
              },
            ],
            "photoUrl": "A String", # Url of user's profile photo. Read-only
            "emailAddress": "A String", # E-mail address of the user. Read-only
            "id": "A String", # Unique 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
            },
          },
          "userId": "A String", # The identifier of the user. When specified as a parameter of request, this field may be set to an alias that identifies the teacher. The following are supported: * the e-mail 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. * `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, Unique identifier of the course. This may either be the Classroom-assigned identifier or an alias. (required)
      userId: string, Identifier of the teacher to delete, or an alias the identifies the user. the following aliases are supported: * the e-mail address of the user * the string literal `"me"`, indicating that the requesting user (required)
      x__xgafv: string, V1 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. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist.

    Args:
      courseId: string, Unique identifier of the course. This may either be the Classroom-assigned identifier or an alias. (required)
      userId: string, Identifier of the teacher to return, or an alias the identifies the user. the following aliases are supported: * the e-mail address of the user * the string literal `"me"`, indicating that the requesting user (required)
      x__xgafv: string, V1 error format.

    Returns:
      An object of the form:

        { # Teacher of a course.
          "courseId": "A String", # Unique 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.
              },
            ],
            "photoUrl": "A String", # Url of user's profile photo. Read-only
            "emailAddress": "A String", # E-mail address of the user. Read-only
            "id": "A String", # Unique 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
            },
          },
          "userId": "A String", # The identifier of the user. When specified as a parameter of request, this field may be set to an alias that identifies the teacher. The following are supported: * the e-mail 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. Fails with `NOT_FOUND` if the course does not exist.

    Args:
      courseId: string, Unique identifier of the course. This may either be 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.
      pageToken: string, [nextPageToken][google.classroom.v1.ListTeachersResponse.next_page_token] value returned from a previous [list][google.classroom.v1.Users.ListTeachers] call, indicating that the subsequent page of results should be returned. The [list][google.classroom.v1.Users.ListTeachers] request must be identical to the one which 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": [ # The teachers who match the list request.
          { # Teacher of a course.
              "courseId": "A String", # Unique 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.
                  },
                ],
                "photoUrl": "A String", # Url of user's profile photo. Read-only
                "emailAddress": "A String", # E-mail address of the user. Read-only
                "id": "A String", # Unique 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
                },
              },
              "userId": "A String", # The identifier of the user. When specified as a parameter of request, this field may be set to an alias that identifies the teacher. The following are supported: * the e-mail 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.