不同欄位之間僅支援 AND 運算子。有效範例為 sender.name = "users/1234567890" AND is_unread()。「the」一字為選用,如省略則為隱含。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