list method

Future<ListSpaceEventsResponse> list(
  1. String parent, {
  2. String? filter,
  3. int? pageSize,
  4. String? pageToken,
  5. String? $fields,
})

Lists events from a Google Chat space.

For each event, the payload contains the most recent version of the Chat resource. For example, if you list events about new space members, the server returns Membership resources that contain the latest membership details. If new members were removed during the requested period, the event payload contains an empty Membership resource. Requires user authentication. To list events, the authenticated user must be a member of the space. For an example, see List events from a Google Chat space.

Request parameters:

parent - Required. Resource name of the Google Chat space where the events occurred. Format: spaces/{space}. Value must have pattern ^spaces/\[^/\]+$.

filter - Required. A query filter. You must specify at least one event type (event_type) using the has : operator. To filter by multiple event types, use the OR operator. Omit batch event types in your filter. The request automatically returns any related batch events. For example, if you filter by new reactions (google.workspace.chat.reaction.v1.created), the server also returns batch new reactions events (google.workspace.chat.reaction.v1.batchCreated). For a list of supported event types, see the [SpaceEvents reference documentation](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.event_type). Optionally, you can also filter by start time (start_time) and end time (end_time): * start_time: Exclusive timestamp from which to start listing space events. You can list events that occurred up to 28 days ago. If unspecified, lists space events from the past 28 days. * end_time: Inclusive timestamp until which space events are listed. If unspecified, lists events up to the time of the request. To specify a start or end time, use the equals = operator and format in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339). To filter by both start_time and end_time, use the AND operator. For example, the following queries are valid: start_time="2023-08-23T19:20:33+00:00" AND end_time="2023-08-23T19:21:54+00:00" start_time="2023-08-23T19:20:33+00:00" AND (event_types:"google.workspace.chat.space.v1.updated" OR event_types:"google.workspace.chat.message.v1.created") The following queries are invalid: start_time="2023-08-23T19:20:33+00:00" OR end_time="2023-08-23T19:21:54+00:00" event_types:"google.workspace.chat.space.v1.updated" AND event_types:"google.workspace.chat.message.v1.created" Invalid queries are rejected by the server with an INVALID_ARGUMENT error.

pageSize - Optional. The maximum number of space events returned. The service might return fewer than this value. Negative values return an INVALID_ARGUMENT error.

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

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

Completes with a ListSpaceEventsResponse.

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<ListSpaceEventsResponse> list(
  core.String parent, {
  core.String? filter,
  core.int? pageSize,
  core.String? pageToken,
  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 ($fields != null) 'fields': [$fields],
  };

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

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