الأداة: search_messages
البحث عن رسائل Google Chat باستخدام الكلمات الرئيسية وعوامل التصفية تعمل هذه الميزة في جميع المساحات التي يمكن للمستخدم الوصول إليها، أو يمكن حصرها في محادثة معيّنة.
يوضّح المثال التالي كيفية استخدام curl لاستدعاء أداة search_messages MCP.
| طلب Curl |
|---|
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 }' |
مخطط الإدخال
طلب البحث عن رسائل Google Chat باستخدام الكلمات الرئيسية والفلاتر تعمل هذه الميزة في جميع المساحات التي يمكن للمستخدم الوصول إليها، أو يمكن حصرها في محادثة معيّنة.
SearchMessagesRequest
| تمثيل JSON |
|---|
{ "searchParameters": { object ( |
| الحقول | |
|---|---|
searchParameters |
الحقل مطلوب. معلَمات البحث التي سيتم استخدامها في عملية البحث |
orderBy |
اختياريّ. تحدّد هذه السمة الترتيب الذي يجب أن تظهر به النتائج. القيم المسموح بها: |
pageSize |
اختياريّ. الحد الأقصى لعدد النتائج التي سيتم عرضها (100 كحد أقصى) إذا لم يتم تحديدها، سيتم عرض 25 نتيجة على الأكثر. |
pageToken |
اختياريّ. رمز مميز للصفحة تم تلقّيه من طلب |
SearchParameters
| تمثيل 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[] |
اختياريّ. فلترة النتائج حسب قائمة بأسماء المساحات، ويتم مطابقة الأسماء المعروضة للمساحات جزئيًا ملاحظة: يتم عرض أفضل 5 نتائج مطابقة فقط. |
OrderBy
تحدّد هذه السمة الترتيب الذي يجب أن تظهر به النتائج. يتم تلقائيًا استخدام RELEVANCE_DESC إذا لم يتم ضبط is_unread على "صحيح"، وإلا سيتم استخدام CREATE_TIME_DESC.
| عمليات التعداد | |
|---|---|
ORDER_BY_UNSPECIFIED |
القيمة التلقائية |
CREATE_TIME_DESC |
الترتيب حسب وقت الإنشاء بترتيب تنازلي |
RELEVANCE_DESC |
الترتيب حسب مدى الصلة بالموضوع تنازليًا |
مخطط النتائج
استجابة للبحث عن رسائل Google Chat إذا تم ملء next_page_token، يمكن إعادة استدعاء SearchMessages باستخدام هذا الرمز المميز لاسترداد الصفحة التالية من النتائج.
SearchMessagesResponse
| تمثيل JSON |
|---|
{
"messages": [
{
object ( |
| الحقول | |
|---|---|
messages[] |
قائمة بكائنات الرسائل التي تطابق معايير البحث، ويتم ترتيبها وفقًا لمَعلمة الطلب |
nextPageToken |
رمز مميز يمكن إرساله كـ |
ChatMessage
| تمثيل JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| الحقول | |
|---|---|
messageId |
اسم مورد الرسالة التنسيق: |
threadId |
سلسلة المحادثات التي تنتمي إليها هذه الرسالة سيكون هذا الحقل فارغًا إذا كانت الرسالة غير مرتبطة بسلسلة محادثات. التنسيق: spaces/{space}/threads/{thread} |
plaintextBody |
تمثّل هذه السمة النص العادي للرسالة. |
sender |
مُرسِل الرسالة |
createTime |
النتائج فقط. الطابع الزمني لوقت إنشاء الرسالة |
threadedReply |
تُستخدَم لتحديد ما إذا كانت الرسالة ردًا في سلسلة محادثات. |
attachments[] |
المرفقات المضمّنة في الرسالة |
reactionSummaries[] |
ملخّص التفاعلات باستخدام رموز الإيموجي المضمّن في الرسالة |
المستخدم
| تمثيل JSON |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| الحقول | |
|---|---|
userId |
اسم المورد لمستخدم Chat التنسيق: |
displayName |
الاسم المعروض لمستخدم Chat |
email |
عنوان البريد الإلكتروني للمستخدم لا تتم تعبئة هذا الحقل إلا عندما يكون نوع المستخدم HUMAN. |
userType |
نوع المستخدم |
ChatAttachmentMetadata
| تمثيل JSON |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| الحقول | |
|---|---|
attachmentId |
اسم مصدر المرفق التنسيق: spaces/{space}/messages/{message}/attachments/{attachment}. |
filename |
اسم المرفق |
mimeType |
نوع المحتوى (نوع MIME) |
source |
مصدر المرفق |
ReactionSummary
| تمثيل JSON |
|---|
{ "emoji": string, "count": integer } |
| الحقول | |
|---|---|
emoji |
سلسلة يونيكود الإيموجي أو اسم الإيموجي المخصّص |
count |
تمثّل هذه السمة إجمالي عدد التفاعلات باستخدام الإيموجي المرتبط. |
UserType
نوع مستخدم Google Chat
| عمليات التعداد | |
|---|---|
USER_TYPE_UNSPECIFIED |
غير محدد |
HUMAN |
مستخدم بشري |
APP |
مستخدم التطبيق |
المصدر
مصدر المرفق
| عمليات التعداد | |
|---|---|
SOURCE_UNSPECIFIED |
محجوزة |
DRIVE_FILE |
الملف هو ملف Google Drive. |
UPLOADED_CONTENT |
يتم تحميل الملف إلى Chat. |
التعليقات التوضيحية للأدوات
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌