list method

Future<ListMembershipsResponse> list(
  1. String parent, {
  2. String? filter,
  3. int? pageSize,
  4. String? pageToken,
  5. bool? showGroups,
  6. bool? showInvited,
  7. bool? useAdminAccess,
  8. 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. Supports the following types of authentication:

App authentication

User authentication You can authenticate and authorize this method with administrator privileges by setting the use_admin_access field in the request.

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

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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).

[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](https://support.google.com/a/answer/13369245).
Requires either the `chat.admin.memberships.readonly` or
`chat.admin.memberships`
[OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).
Listing app memberships in a space isn't supported when using admin
access.

[$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.bool? useAdminAccess,
  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 (useAdminAccess != null) 'useAdminAccess': ['${useAdminAccess}'],
    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>);
}