Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Method: spaces.messages.search
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
호출 사용자가 액세스할 수 있는 Google Chat의 메시지를 검색합니다. 검색 기준과 일치하는 메시지 목록을 반환합니다.사용자가 액세스할 수 있는 모든 스페이스를 검색하려면 parent를 spaces/-로 설정합니다. parent에 다른 값을 사용하면 INVALID_ARGUMENT 오류가 발생합니다. 반환된 메시지의 name 필드는 메시지가 있는 특정 space를 포함하는 전체 리소스 이름으로 채워집니다.
이 API는 모든 메시지 유형을 반환하지 않습니다. 아래에 나열된 메시지 유형은 응답에 포함되지 않습니다. messages.list를 사용하여 모든 메시지를 나열합니다.
- 인증된 사용자에게 표시되는 비공개 메시지입니다.
- 스페이스 또는 그룹 채팅에서 Chat 앱이 게시한 메시지입니다.
- Chat 앱 DM의 메시지입니다.
- 차단된 사용자의 메시지입니다.
- 호출자가 음소거한 스페이스의 메시지입니다.
다음 승인 범위 중 하나를 사용하여 사용자 인증이 필요합니다.
https://www.googleapis.com/auth/chat.messages.readonly
https://www.googleapis.com/auth/chat.messages
HTTP 요청
POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages:search
URL은 gRPC 트랜스코딩 구문을 사용합니다.
경로 매개변수
| 매개변수 |
parent |
string
필수 항목입니다. 검색할 스페이스의 리소스 이름입니다. 사용자가 액세스할 수 있는 모든 스페이스를 검색하려면 이 필드를 spaces/-로 설정합니다. parent에 다른 값을 사용하면 INVALID_ARGUMENT 오류가 발생합니다. 검색을 하나 이상의 스페이스로 제한하려면 filter에서 space.name 또는 space.display_name을 사용합니다.
|
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
| JSON 표현 |
{
"filter": string,
"pageSize": integer,
"pageToken": string,
"orderBy": string,
"view": enum (SearchMessagesView)
} |
| 필드 |
filter |
string
필수 항목입니다. 검색어입니다. 쿼리는 결과를 필터링하는 데 사용되는 검색 키워드를 하나 이상 지정할 수 있습니다. 다음 메시지 필드를 사용하여 결과를 필터링할 수도 있습니다.
createTime: RFC-3339 형식의 타임스탬프를 허용하며 지원되는 비교 연산자는 < 및 >=입니다.
sender.name: 발신자의 리소스 이름 (users/{user}). =만 지원합니다. 이메일을 {user}의 별칭으로 사용할 수 있습니다. 예를 들어 users/example@gmail.com입니다. 여기서 example@gmail.com은 Google Chat 사용자의 이메일입니다.
space.name: 메시지가 게시된 스페이스의 리소스 이름입니다. (spaces/{space}). =만 지원합니다. 이 필터가 설정되지 않으면 사용자가 스페이스 구성원으로 액세스할 수 있는 모든 다이렉트 메시지 및 스페이스에서 검색이 실행됩니다.
space.display_name: 연산자 : (has)를 지원하며 표시 이름의 부분 일치를 기반으로 스페이스를 필터링합니다. 결과는 상위 5개 스페이스 일치 항목으로 제한됩니다. 예를 들어 space.display_name:Project는 표시 이름에 "Project"라는 단어가 포함된 상위 5개 스페이스에서 메시지를 검색합니다.
attachment: 첨부파일의 존재 여부를 확인하는 연산자 :* (has any)를 지원합니다. attachment:*가 지정되면 첨부파일이 하나 이상 있는 메시지만 반환됩니다.
annotations.user_mentions.user.name: 언급된 사용자의 리소스 이름 (users/{user}). : (has)만 지원합니다. 예를 들어 annotations.user_mentions.user.name:"users/1234567890"은 지정된 사용자에 대한 멘션이 포함된 메시지만 반환합니다. 또는 me 별칭을 사용하여 호출자 사용자를 멘션하는 메시지를 필터링할 수 있습니다(예: annotations.user_mentions.user.name:users/me). 이메일을 {user}의 별칭으로 사용할 수도 있습니다(예: users/example@gmail.com).
고급 필터링을 위해 다음 함수도 사용할 수 있습니다.
has_link(): 메시지 텍스트에 하이퍼링크가 하나 이상 있는 메시지만 반환합니다.
is_unread(): 호출 사용자가 읽은 메시지를 필터링합니다.
space.display_name 필터를 사용하려면 호출 인증 정보에 다음 승인 범위 중 하나가 포함되어야 합니다.
https://www.googleapis.com/auth/chat.spaces.readonly
https://www.googleapis.com/auth/chat.spaces
is_unread() 필터를 사용하려면 호출 인증 정보에 다음 승인 범위 중 하나가 포함되어야 합니다.
https://www.googleapis.com/auth/chat.users.readstate.readonly
https://www.googleapis.com/auth/chat.users.readstate
서로 다른 필드에서는 AND 연산자만 지원됩니다. 유효한 예는 sender.name = "users/1234567890" AND is_unread()입니다. AND라는 단어는 선택사항이며 생략하면 암시됩니다. 예를 들어 sender.name =
"users/1234567890" is_unread()는 유효하며 이전 예와 동일합니다. OR은 서로 다른 필드 간에 지원되지 않으므로 sender.name = "users/1234567890" OR
is_unread()는 잘못된 예입니다. 동일한 필드 중에서:
createTime은 AND만 지원하며 createTime >= "2022-01-01T00:00:00+00:00" AND
createTime < "2023-01-01T00:00:00+00:00"과 같은 간격을 나타내는 데만 사용할 수 있습니다.
sender.name은 OR 연산자만 지원합니다(예: sender.name = "users/1234567890" OR sender.name = "users/0987654321").
space.name은 OR 연산자만 지원합니다(예: space.name = "spaces/ABCDEFGH" OR space.name = "spaces/QWERTYUI").
space.display_name은 AND 및 OR 연산자를 지원하지만 둘 다 혼합해서는 지원하지 않습니다. 예를 들어 space.display_name:Project AND space.display_name:Tasks는 표시 이름에 Project와 Tasks가 모두 포함된 스페이스의 메시지를 반환하는 반면 space.display_name:Project OR space.display_name:Tasks는 표시 이름에 Project 또는 Tasks 또는 둘 다 포함된 스페이스의 메시지를 반환합니다.
annotations.user_mentions.user.name은 AND 및 OR 연산자를 지원하지만 둘 다 혼합해서는 지원하지 않습니다. 예를 들어 annotations.user_mentions.user.name:"users/1234567890" AND
annotations.user_mentions.user.name:"users/0987654321"은 두 사용자를 모두 멘션하는 메시지만 반환하는 반면 annotations.user_mentions.user.name:"users/1234567890" OR
annotations.user_mentions.user.name:"users/0987654321"은 한 명의 사용자 또는 두 명의 사용자를 모두 멘션하는 메시지를 반환합니다.
동일한 쿼리에서 AND 및 OR 연산자를 결합할 때 연산자 우선순위를 명확히 하려면 괄호가 필요합니다. 예를 들어 (sender.name="users/me" OR sender.name="users/123456") AND is_unread()입니다. 그 외의 경우에는 괄호가 선택사항입니다. 다음 쿼리 예는 유효합니다.
"Pending reports" AND createTime >= "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 (createTime < "2023-05-01T00:00:00Z")
tasks AND space.name = "spaces/ABCDEFGH" AND has_link()
"project one" is_unread()
space.display_name:Project tasks
최대 쿼리 길이는 1,000자입니다. 잘못된 쿼리는 INVALID_ARGUMENT 오류와 함께 서버에서 거부됩니다.
|
pageSize |
integer
선택사항입니다. 반환할 최대 결과 수입니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 최대 25개가 반환됩니다. 최댓값은 100입니다. 100보다 큰 값을 사용하면 자동으로 100으로 변경됩니다.
|
pageToken |
string
선택사항입니다. 이전 검색 메시지 호출에서 가져온 토큰입니다. 후속 페이지를 가져오려면 이 매개변수를 제공합니다. 페이지를 나누는 경우 제공된 다른 모든 매개변수는 페이지 토큰을 제공한 호출과 일치해야 합니다. 다른 매개변수에 다른 값을 전달하면 예기치 않은 결과가 발생할 수 있습니다.
|
orderBy |
string
선택사항입니다. 결과 목록이 정렬되는 방식입니다. 정렬할 수 있는 지원되는 속성은 다음과 같습니다.
createTime: 메시지 생성 시간을 기준으로 결과를 정렬합니다. 기본값
relevance: 관련성을 기준으로 결과를 정렬합니다.
기본 정렬은 createTime desc입니다. 쿼리당 하나의 순서 (createTime 또는 relevance)만 지원됩니다. 내림차순 (desc)만 지원되며 순서 속성 뒤에 지정해야 합니다.
|
view |
enum (SearchMessagesView)
선택사항입니다. 반환할 검색 결과 뷰의 종류를 지정합니다. 기본값은 SEARCH_MESSAGES_VIEW_BASIC입니다.
|
응답 본문
메시지 검색을 위한 응답 메시지입니다.
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
| 필드 |
results[] |
object (SearchMessageResult)
쿼리와 일치하는 검색 결과 목록입니다.
|
nextPageToken |
string
다음 페이지를 가져오는 데 사용할 수 있는 토큰입니다. 이 필드가 비어 있으면 후속 페이지가 표시되지 않습니다.
|
승인 범위
다음 OAuth 범위 중 하나가 필요합니다.
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.messages.readonly
자세한 내용은 승인 가이드를 참고하세요.
SearchMessagesView
| 열거형 |
SEARCH_MESSAGES_VIEW_UNSPECIFIED |
기본값 / 설정되지 않은 값입니다. API는 BASIC 뷰로 기본 설정됩니다. |
SEARCH_MESSAGES_VIEW_BASIC |
결과에 일치하는 메시지만 포함되며 추가 메타데이터는 포함되지 않습니다. 기본값입니다. |
SEARCH_MESSAGES_VIEW_FULL |
결과에 일치하는 메시지와 추가 메타데이터를 비롯한 모든 항목이 포함됩니다. |
SearchMessageResult
| JSON 표현 |
{
"message": {
object (Message)
},
"spaceMuteSetting": enum (MuteSetting),
"read": boolean
} |
| 필드 |
message |
object (Message)
일치하는 메시지입니다.
|
spaceMuteSetting |
enum (MuteSetting)
메시지가 게시된 스페이스에 대한 호출 사용자의 음소거 설정입니다. 호출자 앱은 이 정보를 사용하여 사용자에 대해 스페이스가 음소거되었는지 여부에 따라 메시지를 처리하는 방법을 결정할 수 있습니다. 요청 뷰가 SEARCH_MESSAGES_VIEW_FULL이고 호출 인증 정보에 다음 승인 범위가 포함된 경우에만 반환됩니다.
https://www.googleapis.com/auth/chat.users.spacesettings
|
read |
boolean
일치하는 메시지를 호출 사용자가 읽었는지 여부를 나타냅니다. 요청 뷰가 SEARCH_MESSAGES_VIEW_FULL이고 호출 인증 정보에 다음 승인 범위 중 하나가 포함된 경우에만 반환됩니다.
https://www.googleapis.com/auth/chat.users.readstate.readonly
https://www.googleapis.com/auth/chat.users.readstate
|
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2026-05-13(UTC)
[null,null,["최종 업데이트: 2026-05-13(UTC)"],[],[]]