# Google Classroom API . courses . students

## Instance Methods

Close httplib2 connections.

Adds a user as a student of a course. Domain administrators are permitted to [directly add](https://developers.google.com/workspace/classroom/guides/manage-users) users within their domain as students to courses within their domain. Students are permitted to add themselves to a course using an enrollment code. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create students 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 * UserGroupsMembershipLimitReached * InactiveCourseOwner * `ALREADY_EXISTS` if the user is already a student or teacher in the course.

Deletes a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete students of this course or for access errors. * `NOT_FOUND` if no student of this course has the requested ID or if the course does not exist.

Returns a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view students of this course or for access errors. * `NOT_FOUND` if no student of this course has the requested ID or if the course does not exist.

Returns a list of students 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.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

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

    Adds a user as a student of a course. Domain administrators are permitted to [directly add](https://developers.google.com/workspace/classroom/guides/manage-users) users within their domain as students to courses within their domain. Students are permitted to add themselves to a course using an enrollment code. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create students 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 * UserGroupsMembershipLimitReached * InactiveCourseOwner * `ALREADY_EXISTS` if the user is already a student or teacher in the course.

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

    { # Student in a course.
      "courseId": "A String", # Identifier of the course. Read-only.
      "profile": { # Global information for a user. # Global user information for the student. Read-only.
        "emailAddress": "A String", # Email address of the user. Must request `https://www.googleapis.com/auth/classroom.profile.emails` scope for this field to be populated in a response body. Read-only.
        "id": "A String", # Identifier of the user. Read-only.
        "name": { # Details of the user's name. # Name of the user. Read-only.
          "familyName": "A String", # The user's last name. 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.
        },
        "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. Must request `https://www.googleapis.com/auth/classroom.profile.photos` scope for this field to be populated in a response body. Read-only.
        "verifiedTeacher": True or False, # Represents whether a Google Workspace for Education user's domain administrator has explicitly verified them as being a teacher. This field is always false if the user is not a member of a Google Workspace for Education domain. Read-only
      },
      "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student 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.
      },
      "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
    }

      enrollmentCode: string, Enrollment code of the course to create the student in. This code is required if userId corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to create students for any user.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Student in a course.
      "courseId": "A String", # Identifier of the course. Read-only.
      "profile": { # Global information for a user. # Global user information for the student. Read-only.
        "emailAddress": "A String", # Email address of the user. Must request `https://www.googleapis.com/auth/classroom.profile.emails` scope for this field to be populated in a response body. Read-only.
        "id": "A String", # Identifier of the user. Read-only.
        "name": { # Details of the user's name. # Name of the user. Read-only.
          "familyName": "A String", # The user's last name. 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.
        },
        "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. Must request `https://www.googleapis.com/auth/classroom.profile.photos` scope for this field to be populated in a response body. Read-only.
        "verifiedTeacher": True or False, # Represents whether a Google Workspace for Education user's domain administrator has explicitly verified them as being a teacher. This field is always false if the user is not a member of a Google Workspace for Education domain. Read-only
      },
      "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student 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.
      },
      "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 student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete students of this course or for access errors. * `NOT_FOUND` if no student 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 student 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); }
    }

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

    Returns a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view students of this course or for access errors. * `NOT_FOUND` if no student 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 student 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:

        { # Student in a course.
      "courseId": "A String", # Identifier of the course. Read-only.
      "profile": { # Global information for a user. # Global user information for the student. Read-only.
        "emailAddress": "A String", # Email address of the user. Must request `https://www.googleapis.com/auth/classroom.profile.emails` scope for this field to be populated in a response body. Read-only.
        "id": "A String", # Identifier of the user. Read-only.
        "name": { # Details of the user's name. # Name of the user. Read-only.
          "familyName": "A String", # The user's last name. 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.
        },
        "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. Must request `https://www.googleapis.com/auth/classroom.profile.photos` scope for this field to be populated in a response body. Read-only.
        "verifiedTeacher": True or False, # Represents whether a Google Workspace for Education user's domain administrator has explicitly verified them as being a teacher. This field is always false if the user is not a member of a Google Workspace for Education domain. Read-only
      },
      "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student 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.
      },
      "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, pageToken=None, x__xgafv=None)`

    Returns a list of students 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. The default is 30 if unspecified or `0`. The server may return fewer than the specified number of results.
      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 students.
      "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further results are available.
      "students": [ # Students who match the list request.
        { # Student in a course.
          "courseId": "A String", # Identifier of the course. Read-only.
          "profile": { # Global information for a user. # Global user information for the student. Read-only.
            "emailAddress": "A String", # Email address of the user. Must request `https://www.googleapis.com/auth/classroom.profile.emails` scope for this field to be populated in a response body. Read-only.
            "id": "A String", # Identifier of the user. Read-only.
            "name": { # Details of the user's name. # Name of the user. Read-only.
              "familyName": "A String", # The user's last name. 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.
            },
            "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. Must request `https://www.googleapis.com/auth/classroom.profile.photos` scope for this field to be populated in a response body. Read-only.
            "verifiedTeacher": True or False, # Represents whether a Google Workspace for Education user's domain administrator has explicitly verified them as being a teacher. This field is always false if the user is not a member of a Google Workspace for Education domain. Read-only
          },
          "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student 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.
          },
          "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.