پیامهایی را در گوگل چت جستجو میکند که کاربر تماسگیرنده به آنها دسترسی دارد. فهرستی از پیامهایی را که با معیارهای جستجو مطابقت دارند، برمیگرداند.
برای جستجو در تمام فضاهایی که کاربر به آنها دسترسی دارد، parent برابر با spaces/- قرار دهید. استفاده از هر مقدار دیگری برای parent منجر به خطای INVALID_ARGUMENT میشود. فیلد name پیامهای برگشتی با نام کامل منبع پر شده است که شامل space خاصی است که پیام در آن قرار دارد.
این API همه انواع پیامها را برنمیگرداند. انواع پیامهای فهرستشده در زیر در پاسخ گنجانده نشدهاند. messages.list برای فهرست کردن همه پیامها استفاده کنید.
پیامهای خصوصی که برای کاربر احراز هویت شده قابل مشاهده هستند.
پیامهای ارسالشده توسط برنامههای چت در فضاها یا چتهای گروهی.
پیامها در یک برنامه چت، دایرکت.
پیامهای کاربران مسدود شده
پیامهایی در فضاهایی که تماسگیرنده آنها را بیصدا کرده است.
الزامی. نام منبع فضایی که قرار است در آن جستجو شود.
برای جستجو در تمام فضاهایی که کاربر به آنها دسترسی دارد، این فیلد را روی spaces/- تنظیم کنید. استفاده از هر مقدار دیگری برای parent منجر به خطای INVALID_ARGUMENT میشود.
برای محدود کردن جستجو به یک یا چند فاصله، space.name یا space.display_name در filter استفاده کنید.
پرسوجو میتواند یک یا چند کلمه کلیدی جستجو را مشخص کند که برای فیلتر کردن نتایج استفاده میشوند.
همچنین میتوانید نتایج را با استفاده از فیلدهای پیام زیر فیلتر کنید:
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) پشتیبانی میکند و فضاها را بر اساس تطابق جزئی با نام نمایشی آنها فیلتر میکند. نتایج به پنج تطابق برتر فضا محدود میشوند. به عنوان مثال، space.display_name:Project پیامهایی را در پنج فضای برتر که حاوی کلمه "Project" در نام نمایشی خود هستند، جستجو میکند.
attachment : از عملگر :* (دارای هرگونه) برای بررسی وجود پیوستها پشتیبانی میکند. اگر 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 مستلزم آن است که اعتبارنامههای فراخوانیشده شامل یکی از حوزههای مجوزدهی زیر باشند:
در فیلدهای مختلف، فقط عملگرهای 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
حداکثر طول پرس و جو ۱۰۰۰ کاراکتر است.
درخواستهای نامعتبر توسط سرور با خطای INVALID_ARGUMENT رد میشوند.
pageSize
integer
اختیاری. حداکثر تعداد نتایجی که باید برگردانده شود. سرویس ممکن است کمتر از این مقدار را برگرداند.
اگر مشخص نشده باشد، حداکثر ۲۵ عدد برگردانده میشود.
حداکثر مقدار ۱۰۰ است. اگر از مقداری بیش از ۱۰۰ استفاده کنید، به طور خودکار به ۱۰۰ تغییر میکند.
pageToken
string
اختیاری. یک توکن، که از فراخوانی پیامهای جستجوی قبلی دریافت شده است. این پارامتر را برای بازیابی صفحه بعدی ارائه دهید.
هنگام صفحهبندی، تمام پارامترهای دیگر ارائه شده باید با فراخوانی که توکن صفحه را ارائه داده است، مطابقت داشته باشند. ارسال مقادیر متفاوت به سایر پارامترها ممکن است منجر به نتایج غیرمنتظرهای شود.
orderBy
string
اختیاری. نحوهی مرتبسازی فهرست نتایج.
ویژگیهای پشتیبانیشده برای سفارش بر اساس موارد زیر هستند:
createTime : نتایج را بر اساس زمان ایجاد پیام مرتب میکند. مقدار پیشفرض.
relevance : نتایج را بر اساس مرتبط بودن مرتب میکند.
ترتیب پیشفرض createTime desc است. فقط یک ترتیب برای هر پرسوجو ( createTime یا relevance ) پشتیبانی میشود. فقط ترتیب نزولی ( desc ) پشتیبانی میشود و باید بعد از ویژگی order مشخص شود.
تنظیمات بیصدا کردن کاربر تماسگیرنده برای فضایی که پیام در آن ارسال شده است. برنامه تماسگیرنده میتواند از این اطلاعات برای تصمیمگیری در مورد نحوه پردازش پیام بسته به اینکه آیا فضا برای کاربر بیصدا شده است یا خیر، استفاده کند.
فقط در صورتی برگردانده میشود که نمای درخواست SEARCH_MESSAGES_VIEW_FULL باشد و اعتبارنامههای فراخوانی شامل محدوده مجوز زیر باشند:
تاریخ آخرین بهروزرسانی 2026-05-12 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2026-05-12 بهوقت ساعت هماهنگ جهانی."],[],[]]