# Google Classroom API . invitations

## Instance Methods

Accepts an invitation, removing it and adding the invited user to the

Creates an invitation. Only one invitation for a user and course may exist

Deletes an invitation.

Returns an invitation.

Returns a list of invitations that the requesting user is permitted to

Retrieves the next page of results.

### Method Details

`accept(id, x__xgafv=None)`

    Accepts an invitation, removing it and adding the invited user to the
    teachers or students (as appropriate) of the specified course. Only the
    invited user may accept an invitation.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to accept the
    requested invitation or for access errors.
    * `FAILED_PRECONDITION` for the following request errors:
        * CourseMemberLimitReached
        * CourseNotModifiable
        * CourseTeacherLimitReached
        * UserGroupsMembershipLimitReached
    * `NOT_FOUND` if no invitation exists with the requested ID.

    Args:
      id: string, Identifier of the invitation to accept. (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 `{}`.
      }

`create(body, x__xgafv=None)`

    Creates an invitation. Only one invitation for a user and course may exist
    at a time. Delete and re-create an invitation to make changes.

    This method returns the following error codes:

    * `PERMISSION_DENIED` if the requesting user is not permitted to create
    invitations for this course or for access errors.
    * `NOT_FOUND` if the course or the user does not exist.
    * `FAILED_PRECONDITION` if the requested user's account is disabled or if
    the user already has this role or a role with greater permissions.
    * `ALREADY_EXISTS` if an invitation for the specified user and course
    already exists.

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

    { # An invitation to join a course.
        "courseId": "A String", # Identifier of the course to invite the user to.
        "role": "A String", # Role to invite the user to have.
            # Must not be `COURSE_ROLE_UNSPECIFIED`.
        "userId": "A String", # Identifier of the invited user.
            #
            # When specified as a parameter of a request, this identifier can be set to
            # one of the following:
            #
            # * the numeric identifier for the user
            # * the email address of the user
            # * the string literal `"me"`, indicating the requesting user
        "id": "A String", # Identifier assigned by Classroom.
            #
            # Read-only.
      }

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

    Returns:
      An object of the form:

        { # An invitation to join a course.
          "courseId": "A String", # Identifier of the course to invite the user to.
          "role": "A String", # Role to invite the user to have.
              # Must not be `COURSE_ROLE_UNSPECIFIED`.
          "userId": "A String", # Identifier of the invited user.
              #
              # When specified as a parameter of a request, this identifier can be set to
              # one of the following:
              #
              # * the numeric identifier for the user
              # * the email address of the user
              # * the string literal `"me"`, indicating the requesting user
          "id": "A String", # Identifier assigned by Classroom.
              #
              # Read-only.
        }

`delete(id, x__xgafv=None)`

    Deletes an invitation.

    This method returns the following error codes:

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

    Args:
      id: string, Identifier of the invitation to delete. (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 an invitation.

    This method returns the following error codes:

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

    Args:
      id: string, Identifier of the invitation to return. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An invitation to join a course.
          "courseId": "A String", # Identifier of the course to invite the user to.
          "role": "A String", # Role to invite the user to have.
              # Must not be `COURSE_ROLE_UNSPECIFIED`.
          "userId": "A String", # Identifier of the invited user.
              #
              # When specified as a parameter of a request, this identifier can be set to
              # one of the following:
              #
              # * the numeric identifier for the user
              # * the email address of the user
              # * the string literal `"me"`, indicating the requesting user
          "id": "A String", # Identifier assigned by Classroom.
              #
              # Read-only.
        }

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

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

    *Note:* At least one of `user_id` or `course_id` must be supplied. Both
    fields can be supplied.

    This method returns the following error codes:

    * `PERMISSION_DENIED` for access errors.

    Args:
      pageSize: integer, Maximum number of items to return. Zero means no maximum.

    The server may return fewer than the specified number of results.
      courseId: string, Restricts returned invitations to those for a course with the specified
    identifier.
      userId: string, Restricts returned invitations to those for a specific user. 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
      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 invitations.
        "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further
            # results are available.
        "invitations": [ # Invitations that match the list request.
          { # An invitation to join a course.
              "courseId": "A String", # Identifier of the course to invite the user to.
              "role": "A String", # Role to invite the user to have.
                  # Must not be `COURSE_ROLE_UNSPECIFIED`.
              "userId": "A String", # Identifier of the invited user.
                  #
                  # When specified as a parameter of a request, this identifier can be set to
                  # one of the following:
                  #
                  # * the numeric identifier for the user
                  # * the email address of the user
                  # * the string literal `"me"`, indicating the requesting user
              "id": "A String", # Identifier assigned by Classroom.
                  #
                  # Read-only.
            },
        ],
      }

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