list method

Future<ListMembershipsResponse> list(
  1. String parent, {
  2. String? filter,
  3. int? pageSize,
  4. String? pageToken,
  5. bool? showGroups,
  6. bool? showInvited,
  7. String? $fields,
})

Lists memberships in a space.

For an example, see List users and Google Chat apps in a space. Listing memberships with app authentication lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with User authentication lists memberships in spaces that the authenticated user has access to. Requires authentication. Supports app authentication and user authentication.

Request parameters:

parent - Required. The resource name of the space for which to fetch a membership list. Format: spaces/{space} Value must have pattern ^spaces/\[^/\]+$.

filter - Optional. A query filter. You can filter memberships by a member's role ([role](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members#membershiprole)) and type ([member.type](https://developers.google.com/workspace/chat/api/reference/rest/v1/User#type)). To filter by role, set role to ROLE_MEMBER or ROLE_MANAGER. To filter by type, set member.type to HUMAN or BOT. Developer Preview: You can also filter for member.type using the != operator. To filter by both role and type, use the AND operator. To filter by either role or type, use the OR operator. Either member.type = "HUMAN" or member.type != "BOT" is required when use_admin_access is set to true. Other member type filters will be rejected. For example, the following queries are valid: role = "ROLE_MANAGER" OR role = "ROLE_MEMBER" member.type = "HUMAN" AND role = "ROLE_MANAGER" member.type != "BOT" The following queries are invalid: member.type = "HUMAN" AND member.type = "BOT" role = "ROLE_MANAGER" AND role = "ROLE_MEMBER" Invalid queries are rejected by the server with an INVALID_ARGUMENT error.

pageSize - Optional. The maximum number of memberships to return. The service might return fewer than this value. If unspecified, at most 100 memberships are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an INVALID_ARGUMENT error.

pageToken - Optional. A page token, received from a previous call to list memberships. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.

showGroups - Optional. When true, also returns memberships associated with a Google Group, in addition to other types of memberships. If a filter is set, Google Group memberships that don't match the filter criteria aren't returned.

showInvited - Optional. When true, also returns memberships associated with invited members, in addition to other types of memberships. If a filter is set, invited memberships that don't match the filter criteria aren't returned. Currently requires user authentication.

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

Completes with a ListMembershipsResponse.

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<ListMembershipsResponse> list(
  core.String parent, {
  core.String? filter,
  core.int? pageSize,
  core.String? pageToken,
  core.bool? showGroups,
  core.bool? showInvited,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (filter != null) 'filter': [filter],
    if (pageSize != null) 'pageSize': ['${pageSize}'],
    if (pageToken != null) 'pageToken': [pageToken],
    if (showGroups != null) 'showGroups': ['${showGroups}'],
    if (showInvited != null) 'showInvited': ['${showInvited}'],
    if ($fields != null) 'fields': [$fields],
  };

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

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