search method
Returns a list of spaces in a Google Workspace organization based on an administrator's search.
In the request, set use_admin_access to true. For an example, see
Search for and manage spaces.
Requires
user authentication with administrator privileges
and one of the following
authorization scopes:
- https://www.googleapis.com/auth/chat.admin.spaces.readonly-- https://www.googleapis.com/auth/chat.admin.spaces
Request parameters:
orderBy - Optional. How the list of spaces is ordered. Supported
attributes to order by are: -
membership_count.joined_direct_human_user_count — Denotes the count of
human users that have directly joined a space. - last_active_time —
Denotes the time when last eligible item is added to any topic of this
space. - create_time — Denotes the time of the space creation. Valid
ordering operation values are: - ASC for ascending. Default value. -
DESC for descending. The supported syntax are: -
membership_count.joined_direct_human_user_count DESC -
membership_count.joined_direct_human_user_count ASC - last_active_time DESC - last_active_time ASC - create_time DESC - create_time ASC
pageSize - The maximum number of spaces to return. The service may
return fewer than this value. If unspecified, at most 100 spaces are
returned. The maximum value is 1000. If you use a value more than 1000,
it's automatically changed to 1000.
pageToken - A token, received from the previous search spaces call.
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.
query - Required. A search query. You can search by using the following
parameters: - create_time - customer - display_name -
external_user_allowed - last_active_time - space_history_state -
space_type create_time and last_active_time accept a timestamp in
[RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the
supported comparison operators are: =, <, >, <=, >=. customer
is required and is used to indicate which customer to fetch spaces from.
customers/my_customer is the only supported value. display_name only
accepts the HAS (:) operator. The text to match is first tokenized
into tokens and each token is prefix-matched case-insensitively and
independently as a substring anywhere in the space's display_name. For
example, Fun Eve matches Fun event or The evening was fun, but not
notFun event or even. external_user_allowed accepts either true or
false. space_history_state only accepts values from the
[historyState](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState)
field of a space resource. space_type is required and the only valid
value is SPACE. Across different fields, only AND operators are
supported. A valid example is space_type = "SPACE" AND display_name:"Hello" and an invalid example is space_type = "SPACE" OR display_name:"Hello". Among the same field, space_type doesn't support
AND or OR operators. display_name, 'space_history_state', and
'external_user_allowed' only support OR operators. last_active_time
and create_time support both AND and OR operators. AND can only be
used to represent an interval, such as last_active_time < "2022-01-01T00:00:00+00:00" AND last_active_time > "2023-01-01T00:00:00+00:00". The following example queries are valid: customer = "customers/my_customer" AND space_type = "SPACE" customer = "customers/my_customer" AND space_type = "SPACE" AND display_name:"Hello World" customer = "customers/my_customer" AND space_type = "SPACE" AND (last_active_time < "2020-01-01T00:00:00+00:00" OR last_active_time > "2022-01-01T00:00:00+00:00") customer = "customers/my_customer" AND space_type = "SPACE" AND (display_name:"Hello World" OR display_name:"Fun event") AND (last_active_time > "2020-01-01T00:00:00+00:00" AND last_active_time < "2022-01-01T00:00:00+00:00") customer = "customers/my_customer" AND space_type = "SPACE" AND (create_time > "2019-01-01T00:00:00+00:00" AND create_time < "2020-01-01T00:00:00+00:00") AND (external_user_allowed = "true") AND (space_history_state = "HISTORY_ON" OR space_history_state = "HISTORY_OFF")
useAdminAccess - 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 either the chat.admin.spaces.readonly or chat.admin.spaces
OAuth 2.0 scope.
This method currently only supports admin access, thus only true is
accepted for this field.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a SearchSpacesResponse.
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<SearchSpacesResponse> search({
  core.String? orderBy,
  core.int? pageSize,
  core.String? pageToken,
  core.String? query,
  core.bool? useAdminAccess,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (orderBy != null) 'orderBy': [orderBy],
    if (pageSize != null) 'pageSize': ['${pageSize}'],
    if (pageToken != null) 'pageToken': [pageToken],
    if (query != null) 'query': [query],
    if (useAdminAccess != null) 'useAdminAccess': ['${useAdminAccess}'],
    if ($fields != null) 'fields': [$fields],
  };
  const url_ = 'v1/spaces:search';
  final response_ = await _requester.request(
    url_,
    'GET',
    queryParams: queryParams_,
  );
  return SearchSpacesResponse.fromJson(
    response_ as core.Map<core.String, core.dynamic>,
  );
}