delete method

Future<Membership> delete(
  1. String name, {
  2. bool? useAdminAccess,
  3. String? $fields,
})

Deletes a membership.

For an example, see Remove a user or a Google Chat app from a space. Supports the following types of authentication:

App authentication with administrator approval and the authorization scope: - https://www.googleapis.com/auth/chat.app.memberships - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships - https://www.googleapis.com/auth/chat.memberships.app (to remove the calling app from the space) - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used: - https://www.googleapis.com/auth/chat.admin.memberships App authentication is not supported for the following use cases: - Removing a Google Group from a space. - Removing a Chat app from a space. To delete memberships for space managers, the requester must be a space manager. If you're using app authentication the Chat app must be the space creator.

Request parameters:

name - Required. Resource name of the membership to delete. Chat apps can delete human users' or their own memberships. Chat apps can't delete other apps' memberships. When deleting a human membership, requires the chat.memberships scope with user authentication or the chat.memberships.app scope with app authentication and the spaces/{space}/members/{member} format. You can use the email as an alias for {member}. For example, spaces/{space}/members/example@gmail.com where example@gmail.com is the email of the Google Chat user. When deleting an app membership, requires the chat.memberships.app scope and spaces/{space}/members/app format. Format: spaces/{space}/members/{member} or spaces/{space}/members/app. Value must have pattern ^spaces/\[^/\]+/members/\[^/\]+$.

useAdminAccess - Optional. When true, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege. Requires the chat.admin.memberships OAuth 2.0 scope. Deleting app memberships in a space isn't supported using admin access.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Membership.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Membership> delete(
  core.String name, {
  core.bool? useAdminAccess,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (useAdminAccess != null) 'useAdminAccess': ['${useAdminAccess}'],
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$name');

  final response_ = await _requester.request(
    url_,
    'DELETE',
    queryParams: queryParams_,
  );
  return Membership.fromJson(
    response_ as core.Map<core.String, core.dynamic>,
  );
}