Reference documentation and code samples for the Google Chat V1 API class Google::Apps::Chat::V1::SearchMessagesRequest.
Request message for searching messages.
Inherits
- Object
Extended By
- Google::Protobuf::MessageExts::ClassMethods
Includes
- Google::Protobuf::MessageExts
Methods
#filter
def filter() -> ::String-
(::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 for{user}. For example,users/example@gmail.com, whereexample@gmail.comis 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:Projectsearches 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. Ifattachment:*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 aliasmecan 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 for{user}, 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_namefilter requires that the calling credentials include one of the following authorization scopes:https://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.spaces
Using the
is_unread()filter requires that the calling credentials include one of the following authorization scopes:https://www.googleapis.com/auth/chat.users.readstate.readonlyhttps://www.googleapis.com/auth/chat.users.readstate
Across different fields, only
ANDoperators are supported. A valid example issender.name = "users/1234567890" AND is_unread(). The wordANDis 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 issender.name = "users/1234567890" OR is_unread()becauseORis not supported between different fields.Among the same field:
create_timesupports onlyAND, and can only be used to represent an interval, such ascreate_time >= "2022-01-01T00:00:00+00:00" AND create_time < "2023-01-01T00:00:00+00:00".sender.namesupports only theORoperator, for example:sender.name = "users/1234567890" OR sender.name = "users/0987654321".space.namesupports only theORoperator, for example:space.name = "spaces/ABCDEFGH" OR space.name = "spaces/QWERTYUI".space.display_namesupports the operatorsANDandOR, but not a mix of both. For example:space.display_name:Project AND space.display_name:Tasksreturns messages that are in spaces with display names containing bothProjectandTasks, whereasspace.display_name:Project OR space.display_name:Tasksreturns messages that are in spaces with display names containing eitherProjectorTasksor both.annotations.user_mentions.user.namesupports the operatorsANDandOR, 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, whereasannotations.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
ANDandORoperators 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 an
INVALID_ARGUMENTerror.
#filter=
def filter=(value) -> ::String-
value (::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 for{user}. For example,users/example@gmail.com, whereexample@gmail.comis 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:Projectsearches 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. Ifattachment:*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 aliasmecan 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 for{user}, 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_namefilter requires that the calling credentials include one of the following authorization scopes:https://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.spaces
Using the
is_unread()filter requires that the calling credentials include one of the following authorization scopes:https://www.googleapis.com/auth/chat.users.readstate.readonlyhttps://www.googleapis.com/auth/chat.users.readstate
Across different fields, only
ANDoperators are supported. A valid example issender.name = "users/1234567890" AND is_unread(). The wordANDis 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 issender.name = "users/1234567890" OR is_unread()becauseORis not supported between different fields.Among the same field:
create_timesupports onlyAND, and can only be used to represent an interval, such ascreate_time >= "2022-01-01T00:00:00+00:00" AND create_time < "2023-01-01T00:00:00+00:00".sender.namesupports only theORoperator, for example:sender.name = "users/1234567890" OR sender.name = "users/0987654321".space.namesupports only theORoperator, for example:space.name = "spaces/ABCDEFGH" OR space.name = "spaces/QWERTYUI".space.display_namesupports the operatorsANDandOR, but not a mix of both. For example:space.display_name:Project AND space.display_name:Tasksreturns messages that are in spaces with display names containing bothProjectandTasks, whereasspace.display_name:Project OR space.display_name:Tasksreturns messages that are in spaces with display names containing eitherProjectorTasksor both.annotations.user_mentions.user.namesupports the operatorsANDandOR, 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, whereasannotations.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
ANDandORoperators 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 an
INVALID_ARGUMENTerror.
-
(::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 for{user}. For example,users/example@gmail.com, whereexample@gmail.comis 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:Projectsearches 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. Ifattachment:*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 aliasmecan 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 for{user}, 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_namefilter requires that the calling credentials include one of the following authorization scopes:https://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.spaces
Using the
is_unread()filter requires that the calling credentials include one of the following authorization scopes:https://www.googleapis.com/auth/chat.users.readstate.readonlyhttps://www.googleapis.com/auth/chat.users.readstate
Across different fields, only
ANDoperators are supported. A valid example issender.name = "users/1234567890" AND is_unread(). The wordANDis 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 issender.name = "users/1234567890" OR is_unread()becauseORis not supported between different fields.Among the same field:
create_timesupports onlyAND, and can only be used to represent an interval, such ascreate_time >= "2022-01-01T00:00:00+00:00" AND create_time < "2023-01-01T00:00:00+00:00".sender.namesupports only theORoperator, for example:sender.name = "users/1234567890" OR sender.name = "users/0987654321".space.namesupports only theORoperator, for example:space.name = "spaces/ABCDEFGH" OR space.name = "spaces/QWERTYUI".space.display_namesupports the operatorsANDandOR, but not a mix of both. For example:space.display_name:Project AND space.display_name:Tasksreturns messages that are in spaces with display names containing bothProjectandTasks, whereasspace.display_name:Project OR space.display_name:Tasksreturns messages that are in spaces with display names containing eitherProjectorTasksor both.annotations.user_mentions.user.namesupports the operatorsANDandOR, 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, whereasannotations.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
ANDandORoperators 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 an
INVALID_ARGUMENTerror.
#order_by
def order_by() -> ::String-
(::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_timeorrelevance) is supported. Only descending order (desc) is supported, and it must be specified after the order attribute.
#order_by=
def order_by=(value) -> ::String-
value (::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_timeorrelevance) is supported. Only descending order (desc) is supported, and it must be specified after the order attribute.
-
(::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_timeorrelevance) is supported. Only descending order (desc) is supported, and it must be specified after the order attribute.
#page_size
def page_size() -> ::Integer-
(::Integer) — 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.
#page_size=
def page_size=(value) -> ::Integer-
value (::Integer) — 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.
-
(::Integer) — 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.
#page_token
def page_token() -> ::String-
(::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.
#page_token=
def page_token=(value) -> ::String-
value (::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.
-
(::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.
#parent
def parent() -> ::String-
(::String) — Required. The resource name of the space to search within.
To search across all spaces the user has access to, set this field to
spaces/-. Using any other value forparentresults in anINVALID_ARGUMENTerror.To limit the search to one or more spaces, use
space.nameorspace.display_namein thefilter.
#parent=
def parent=(value) -> ::String-
value (::String) — Required. The resource name of the space to search within.
To search across all spaces the user has access to, set this field to
spaces/-. Using any other value forparentresults in anINVALID_ARGUMENTerror.To limit the search to one or more spaces, use
space.nameorspace.display_namein thefilter.
-
(::String) — Required. The resource name of the space to search within.
To search across all spaces the user has access to, set this field to
spaces/-. Using any other value forparentresults in anINVALID_ARGUMENTerror.To limit the search to one or more spaces, use
space.nameorspace.display_namein thefilter.
#view
def view() -> ::Google::Apps::Chat::V1::SearchMessagesRequest::SearchMessagesView-
(::Google::Apps::Chat::V1::SearchMessagesRequest::SearchMessagesView) — Optional. Specifies what kind of search results view to return. The default
is
SEARCH_MESSAGES_VIEW_BASIC.
#view=
def view=(value) -> ::Google::Apps::Chat::V1::SearchMessagesRequest::SearchMessagesView-
value (::Google::Apps::Chat::V1::SearchMessagesRequest::SearchMessagesView) — Optional. Specifies what kind of search results view to return. The default
is
SEARCH_MESSAGES_VIEW_BASIC.
-
(::Google::Apps::Chat::V1::SearchMessagesRequest::SearchMessagesView) — Optional. Specifies what kind of search results view to return. The default
is
SEARCH_MESSAGES_VIEW_BASIC.