# Google Classroom API . invitations

## Instance Methods

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. * `NOT_FOUND` if no invitation exists with the requested ID.

Creates a invitation. Only one invitation for a user and course may exist at a time. Delete and recreate 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. * `NOT_FOUND` if the course or the user does not exist. * `ALREADY_EXISTS` if an invitation for the specified user and course already exists.

Deletes a invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested invitation. * `NOT_FOUND` if no invitation exists with the requested ID.

Returns a invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view the requested invitation. * `NOT_FOUND` if no invitation exists with the requested ID.

Returns a list of invitations that the requesting user is permitted to view, restricted to those that match the request. *Note:* At least one of `user_id` or `course_id` must be supplied.

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

    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 a invitation. Only one invitation for a user and course may exist at a time. Delete and recreate 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. * `NOT_FOUND` if the course or the user does not exist. * `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 may be set to an alias that identifies the user to invite. The supported aliases are: * the e-mail address of the user * the string literal `"me"`, indicating that the requesting user
        "id": "A String", # Unique identifier assigned by Classroom. Read-only
      }

      x__xgafv: string, V1 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 may be set to an alias that identifies the user to invite. The supported aliases are: * the e-mail address of the user * the string literal `"me"`, indicating that the requesting user
          "id": "A String", # Unique identifier assigned by Classroom. Read-only
        }

`delete(id, x__xgafv=None)`

    Deletes a invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested invitation. * `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.

    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 invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view the requested invitation. * `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.

    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 may be set to an alias that identifies the user to invite. The supported aliases are: * the e-mail address of the user * the string literal `"me"`, indicating that the requesting user
          "id": "A String", # Unique 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 request. *Note:* At least one of `user_id` or `course_id` must be supplied.

    Args:
      pageSize: integer, The 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. This may be the unique identifier for the user or an alias. The supported aliases are: * the e-mail address of the user * the string literal `"me"`, indicating the requesting user
      x__xgafv: string, V1 error format.
      pageToken: string, [nextPageToken][google.classroom.v1.ListInvitationsRespnse.next_page_token] value returned from a previous [list][google.classroom.v1.Users.ListInvitations] call, indicating that the subsequent page of results should be returned. The [list][google.classroom.v1.Users.ListInvitations] request must be identical to the one which 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 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 may be set to an alias that identifies the user to invite. The supported aliases are: * the e-mail address of the user * the string literal `"me"`, indicating that the requesting user
              "id": "A String", # Unique 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.