list method
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>);
}