ابزار: search_messages
با استفاده از کلمات کلیدی و فیلترها، پیامهای گوگل چت را جستجو میکند. در تمام فضاهایی که کاربر به آنها دسترسی دارد یا میتواند به یک مکالمه خاص محدود شود، کار میکند.
نمونه زیر نحوه استفاده از curl برای فراخوانی ابزار search_messages MCP را نشان میدهد.
| درخواست کرل |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_messages", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
طرحواره ورودی
درخواست جستجوی پیامهای گوگل چت با استفاده از کلمات کلیدی و فیلترها. در تمام فضاهایی که کاربر به آنها دسترسی دارد کار میکند، یا میتواند به یک مکالمه خاص محدود شود.
جستجوپیامهادرخواست
| نمایش JSON |
|---|
{ "searchParameters": { object ( |
| فیلدها | |
|---|---|
searchParameters | پارامترهای جستجو که برای جستجو استفاده میشوند. |
orderBy | اختیاری. ترتیبی را که نتایج باید به آن برگردانده شوند، مشخص میکند. مقادیر پشتیبانیشده: |
pageSize | اختیاری. حداکثر تعداد نتایجی که باید برگردانده شود (حداکثر تا ۱۰۰). اگر مشخص نشود، حداکثر ۲۵ نتیجه برگردانده میشود. |
pageToken | اختیاری. یک توکن صفحه، که از فراخوانی قبلی |
پارامترهای جستجو
| نمایش JSON |
|---|
{ "keywords": [ string ], "conversationId": string, "sender": string, "isUnread": boolean, "hasLink": boolean, "startTime": string, "endTime": string, "mentionsMe": boolean, "conversationIncludesUser": string, "spaceDisplayNames": [ string ] } |
| فیلدها | |
|---|---|
keywords[] | اختیاری. مجموعهای از کلمات کلیدی که برای فیلتر کردن نتایج استفاده میشوند. |
conversationId | اختیاری. جستجو را به یک شناسه مکالمه خاص، همانطور که از ابزار search_conversations برگردانده میشود، محدود میکند. قالب: |
sender | اختیاری. فیلتر برای پیامهای یک کاربر خاص. میتوان از ایمیل یا نام منبع فرستنده استفاده کرد. نام منابع کاربر به صورت |
isUnread | اختیاری. فیلتر برای پیامهایی که توسط کاربر تماسگیرنده خوانده نشدهاند. |
hasLink | اختیاری. فیلتر برای پیامهایی که حداقل شامل یک URL هستند. |
startTime | اختیاری. فیلتر برای پیامهای ایجاد شده پس از این زمان. قالب: مهر زمانی ISO 8601. |
endTime | اختیاری. فیلتر برای پیامهای ایجاد شده قبل از این زمان. قالب: مهر زمانی ISO 8601. |
mentionsMe | اختیاری. فیلتر برای پیامهایی که صریحاً از کاربر تماسگیرنده نام میبرند. |
conversationIncludesUser | اختیاری. فیلتر کردن پیامها در دایرکتها و چتهای گروهی که شامل ایمیل یا شناسه کاربری خاص هستند. |
spaceDisplayNames[] | اختیاری. فیلتر بر اساس لیستی از نامهای فضا؛ نامهای نمایشی فضا تا حدی مطابقت دارند. توجه: فقط ۵ مورد برتر مطابقت داده میشوند. |
سفارش توسط
ترتیبی را که نتایج باید بر اساس آن برگردانده شوند، مشخص میکند. به طور پیشفرض، اگر is_unread روی true تنظیم نشده باشد، از RELEVANCE_DESC استفاده میشود، در غیر این صورت از CREATE_TIME_DESC استفاده میشود.
| انومها | |
|---|---|
ORDER_BY_UNSPECIFIED | مقدار پیشفرض. |
CREATE_TIME_DESC | مرتب سازی بر اساس زمان ایجاد به صورت نزولی. |
RELEVANCE_DESC | بر اساس میزان اهمیت به ترتیب نزولی مرتب کنید. |
طرحواره خروجی
پاسخ به جستجوی پیامهای گوگل چت. اگر next_page_token پر شده باشد، میتوان تابع SearchMessages را دوباره با آن توکن فراخوانی کرد تا صفحه بعدی نتایج بازیابی شود.
جستجوپیامهاپاسخ
| نمایش JSON |
|---|
{
"messages": [
{
object ( |
| فیلدها | |
|---|---|
messages[] | فهرست اشیاء پیام که با معیارهای جستجو مطابقت دارند، بر اساس پارامتر درخواست |
nextPageToken | یک توکن که میتواند به عنوان |
چتپیام
| نمایش JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| فیلدها | |
|---|---|
messageId | نام منبع پیام. قالب: |
threadId | رشتهای که این پیام به آن تعلق دارد. اگر پیام رشتهبندی نشده باشد، این قسمت خالی خواهد بود. قالب: space/{space}/threads/{thread} |
plaintextBody | متن سادهی پیام. |
sender | فرستنده پیام. |
createTime | فقط خروجی. مهر زمانی که پیام ایجاد شده است. |
threadedReply | اینکه آیا پیام، پاسخ یک تاپیک است یا خیر. |
attachments[] | پیوستهای موجود در پیام. |
reactionSummaries[] | خلاصه واکنشهای ایموجی در پیام گنجانده شده است. |
کاربر
| نمایش JSON |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| فیلدها | |
|---|---|
userId | نام منبع یک کاربر چت. فرمت: |
displayName | نام نمایشی کاربر چت. |
email | آدرس ایمیل کاربر. این فیلد فقط زمانی پر میشود که نوع کاربر HUMAN باشد. |
userType | نوع کاربر. |
فراداده پیوست چت
| نمایش JSON |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| فیلدها | |
|---|---|
attachmentId | نام منبع پیوست. قالب: space/{space}/messages/{message}/attachments/{attachment}. |
filename | نام فایل پیوست. |
mimeType | نوع محتوا (نوع MIME). |
source | منبع پیوست. |
خلاصه واکنش
| نمایش JSON |
|---|
{ "emoji": string, "count": integer } |
| فیلدها | |
|---|---|
emoji | رشته یونیکد ایموجی یا نام ایموجی سفارشی. |
count | تعداد کل واکنشها با استفاده از ایموجی مرتبط. |
نوع کاربر
نوع کاربر گوگل چت.
| انومها | |
|---|---|
USER_TYPE_UNSPECIFIED | نامشخص. |
HUMAN | کاربر انسانی. |
APP | کاربر برنامه. |
منبع
منبع پیوست.
| انومها | |
|---|---|
SOURCE_UNSPECIFIED | رزرو شده. |
DRIVE_FILE | فایل، فایل گوگل درایو است. |
UPLOADED_CONTENT | فایل در چت آپلود شد. |
حاشیهنویسی ابزار
راهنمایی مخرب: ❌ | راهنمایی بیاثر: ✅ | راهنمایی فقط خواندنی: ✅ | راهنمایی جهان باز: ❌