Class: Google::Apis::ChatV1::SearchMessagesRequest
- Inherits:
-
Object
- Object
- Google::Apis::ChatV1::SearchMessagesRequest
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/chat_v1/classes.rb,
lib/google/apis/chat_v1/representations.rb,
lib/google/apis/chat_v1/representations.rb
Overview
Request message for searching messages.
Instance Attribute Summary collapse
-
#filter ⇒ String
Required.
-
#markup_syntax ⇒ String
Optional.
-
#order_by ⇒ String
Optional.
-
#page_size ⇒ Fixnum
Optional.
-
#page_token ⇒ String
Optional.
-
#view ⇒ String
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SearchMessagesRequest
constructor
A new instance of SearchMessagesRequest.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ SearchMessagesRequest
Returns a new instance of SearchMessagesRequest.
6509 6510 6511 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6509 def initialize(**args) update!(**args) end |
Instance Attribute Details
#filter ⇒ String
Required. A search query. The query can specify one or more search keywords,
which are used to filter the results, You can also filter the results using
the following message fields: - create_time: Accepts a timestamp in RFC-
3339 format and the supported
comparison operators are: < and >=. - sender.name: The resource name of
the sender (users/user). Only supports `=`. You can use the e-mail as an
alias foruser. For example, `users/example@gmail.com`, where `example@
gmail.com` is the e-mail of the Google Chat user. - `space.name`: The resource
name of the space where the message is posted. (`spaces/`space). Only
supports =. If this filter is not set, the search is performed across all
direct messages and spaces the user has access to as a space member. - space.
display_name: Supports the operator : (has) and filters spaces based on a
partial match of their display name. Results are limited to the top five space
matches. For example, space.display_name:Project searches for messages in
the top five spaces that contain the word "Project" in their display names. -
attachment: Supports the operator :* (has any) to check for the presence of
attachments. If attachment:* is specified, only messages that have at least
one attachment are returned. - annotations.user_mentions.user.name: The
resource name of the mentioned user (users/user). Only supports `:` (has).
For example: `annotations.user_mentions.user.name:"users/1234567890"` returns
only messages that contain a mention to the specified user. Alternatively, the
alias `me` can be used to filter for messages that mention the caller user,
for example: `annotations.user_mentions.user.name:users/me`. You can also use
the e-mail as an alias foruser, for example, `users/example@gmail.com`.
For advanced filtering, the following functions are also available: - `
has_link()`: Returns only messages that have at least one hyperlink in the
message text. - `is_unread()`: Filters out messages that have been read by the
calling user. Using the `space.display_name` filter requires that the calling
credentials include one of the following [authorization scopes](https://
developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): -
`https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.
googleapis.com/auth/chat.spaces` Using the `is_unread()` filter requires that
the calling credentials include one of the following [authorization scopes](
https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-
scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `
https://www.googleapis.com/auth/chat.users.readstate` Across different fields,
only `AND` operators are supported. A valid example is `sender.name = "users/
1234567890" AND is_unread()`. The word `AND` is optional and is implied if
omitted. For example, `sender.name = "users/1234567890" is_unread()` is valid
and is equivalent to the previous example. An invalid example is `sender.name =
"users/1234567890" OR is_unread()` because `OR` is not supported between
different fields. Among the same field: - `create_time` supports only `AND`,
and can only be used to represent an interval, such as `create_time >= "2022-
01-01T00:00:00+00:00" AND create_time < "2023-01-01T00:00:00+00:00"`. - `
sender.name` supports only the `OR` operator, for example: `sender.name = "
users/1234567890" OR sender.name = "users/0987654321"`. - `space.name`
supports only the `OR` operator, for example: `space.name = "spaces/ABCDEFGH"
OR space.name = "spaces/QWERTYUI"`. - `space.display_name` supports the
operators `AND` and `OR`, but not a mix of both. For example: `space.
display_name:Project AND space.display_name:Tasks` returns messages that are
in spaces with display names containing both `Project` and `Tasks`, whereas `
space.display_name:Project OR space.display_name:Tasks` returns messages that
are in spaces with display names containing either `Project` or `Tasks` or
both. - `annotations.user_mentions.user.name` supports the operators `AND` and
`OR`, but not a mix of both. For example: `annotations.user_mentions.user.name:
"users/1234567890" AND annotations.user_mentions.user.name:"users/0987654321"`
returns only messages that mentions both users, whereas `annotations.
user_mentions.user.name:"users/1234567890" OR annotations.user_mentions.user.
name:"users/0987654321"` returns messages that mention either user or both.
Parentheses are required to disambiguate operator precedence when combining `
AND` and `OR` operators in the same query. For example: `(sender.name="users/
me" OR sender.name="users/123456") AND is_unread()`. Otherwise, parentheses
are optional. The following example queries are valid:"Pending reports"
AND create_time >= "2023-01-01T00:00:00Z" sender.name = "users/example@gmail.
com" annotations.user_mentions.user.name:"users/0987654321" attachment:* AND
space.name = "spaces/ABCDEFGH" tasks AND is_unread() AND sender.name = "users/
1234567890" "things to do" "urgent" (sender.name = "users/1234567890") AND (
create_time < "2023-05-01T00:00:00Z") tasks AND space.name = "spaces/ABCDEFGH"
AND has_link() "project one" is_unread() space.display_name:Project tasks`
The maximum query length is 1,000 characters. Invalid queries are rejected by
the server with anINVALID_ARGUMENTerror.
Corresponds to the JSON propertyfilter`
6467 6468 6469 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6467 def filter @filter end |
#markup_syntax ⇒ String
Optional. Specifies the desired output syntax for the Chat message
formatted_text field.
Corresponds to the JSON property markupSyntax
6473 6474 6475 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6473 def markup_syntax @markup_syntax end |
#order_by ⇒ String
Optional. How the results list is ordered. Supported attributes to order by
are: - create_time: Sorts the results by the time of the message creation.
Default value. - relevance: Sorts the results by relevance. Developer
Preview. The default
ordering is create_time desc. Only a single order per query (create_time
or relevance) is supported. Only descending order (desc) is supported, and
it must be specified after the order attribute.
Corresponds to the JSON property orderBy
6484 6485 6486 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6484 def order_by @order_by end |
#page_size ⇒ Fixnum
Optional. The maximum number of results to return. The service may return
fewer than this value. If unspecified, at most 25 are returned. The maximum
value is 100. If you use a value more than 100, it's automatically changed to
100.
Corresponds to the JSON property pageSize
6492 6493 6494 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6492 def page_size @page_size end |
#page_token ⇒ String
Optional. A token, received from the previous search messages 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.
Corresponds to the JSON property pageToken
6501 6502 6503 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6501 def page_token @page_token end |
#view ⇒ String
Optional. Specifies what kind of search results view to return. The default is
SEARCH_MESSAGES_VIEW_BASIC.
Corresponds to the JSON property view
6507 6508 6509 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6507 def view @view end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
6514 6515 6516 6517 6518 6519 6520 6521 |
# File 'lib/google/apis/chat_v1/classes.rb', line 6514 def update!(**args) @filter = args[:filter] if args.key?(:filter) @markup_syntax = args[:markup_syntax] if args.key?(:markup_syntax) @order_by = args[:order_by] if args.key?(:order_by) @page_size = args[:page_size] if args.key?(:page_size) @page_token = args[:page_token] if args.key?(:page_token) @view = args[:view] if args.key?(:view) end |