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 Transcoding 構文を使用します。
パスパラメータ
| パラメータ |
parent |
string
必須。検索範囲となるスペースのリソース名。 ユーザーがアクセスできるすべてのスペースを検索するには、このフィールドを spaces/- に設定します。parent に別の値を指定すると、INVALID_ARGUMENT エラーが発生します。 検索を 1 つ以上のスペースに限定するには、filter で space.name または space.display_name を使用します。
|
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
| JSON 表現 |
{
"filter": string,
"pageSize": integer,
"pageToken": string,
"orderBy": string,
"view": enum (SearchMessagesView)
} |
| フィールド |
filter |
string
必須。検索クエリ。 クエリでは、1 つ以上の検索キーワードを指定して結果をフィルタできます。 次のメッセージ フィールドを使用して結果をフィルタすることもできます。
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:* が指定されている場合は、少なくとも 1 つの添付ファイルがあるメッセージのみが返されます。
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(): メッセージ テキストに 1 つ以上のハイパーリンクがあるメッセージのみを返します。
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() は有効で、前の例と同じです。無効な例は sender.name = "users/1234567890" OR
is_unread() です。これは、異なるフィールド間で OR がサポートされていないためです。 同じフィールド内:
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 です。クエリごとに 1 つの順序(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
|
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2026-05-13 UTC。
[null,null,["最終更新日 2026-05-13 UTC。"],[],[]]