ابزار: list_messages
پیامها را از مکالمه Google Chat مشخصشده (فضا، پیام مستقیم (DM)، یا پیام مستقیم گروهی) در قالب Markdown بازیابی میکند. امکان فیلتر کردن براساس رشته، محدوده زمانی، و تعداد پیامها را فراهم میکند. علاوهبراین، صفحه بعدی پیامها را میتوان برای ارائه بافت بیشتر بازیابی کرد. پیامهای خصوصی (پیامهایی که فقط برای یک کاربر قابلمشاهده است) فیلتر میشوند.
نمونه کد زیر نحوه استفاده از curl برای فراخوانی ابزار MCP list_messages را نشان میدهد.
| درخواست Curl |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_messages", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
طرحواره ورودی
ListChatMessagesRequest
| نمایش JSON |
|---|
{ "conversationId": string, "threadId": string, "pageSize": integer, "pageToken": string, "startTime": string, "endTime": string } |
| فیلدها | |
|---|---|
conversationId |
الزامی. شناسه مکالمه. مکالمه میتواند فضا، پیام مستقیم (DM)، یا پیام مستقیم/ گپ گروهی باشد. قالب: spaces/{space} |
threadId |
اختیاری. شناسه رشتهای خاص در مکالمه. اگر ارائه شود، فقط پیامهای این رشته برگردانده میشود. اگر حذف شود، پیامهای همه رشتههای مکالمه درنظر گرفته میشود. قالب: spaces/{space}/threads/{thread} |
pageSize |
اختیاری. حداکثر تعداد پیامها برای برگرداندن. سرویس ممکن است کمتر از این مقدار را برگرداند. اگر مشخص نشده باشد، بهطور پیشفرض ۲۰ است. حداکثر مقدار ۵۰ است. اگر از مقداری بیشتر از ۵۰ استفاده کنید، بهطور خودکار به ۵۰ تغییر میکند. |
pageToken |
اختیاری. یک توکن صفحه، که از یک فراخوانی list_messages قبلی دریافت شده است. برای بازیابی صفحه بعدی، این را ارائه دهید. |
startTime |
اختیاری. مُهر زمان ISO 8601 برای فیلتر کردن پیامها. فقط پیامهایی که بعداز این زمان ایجاد شدهاند برگردانده خواهند شد. |
endTime |
اختیاری. مُهر زمان ISO 8601 برای فیلتر کردن پیامها. فقط پیامهایی که قبلاز این زمان ایجاد شدهاند برگردانده خواهند شد. |
طرحواره برونداد
پاسخ حاوی فهرست پیامهای مکالمه درخواستشده.
ListChatMessagesResponse
| نمایش JSON |
|---|
{
"messages": [
{
object ( |
| فیلدها | |
|---|---|
messages[] |
فهرست پیامهای بازیابیشده، بهترتیب زمانی معکوس (جدیدترین در ابتدا). |
nextPageToken |
یک توکن که میتواند بهعنوان |
ChatMessage
| نمایش JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| فیلدها | |
|---|---|
messageId |
نام منبع پیام. قالب: spaces/{space}/messages/{message} |
threadId |
رشتهای که این پیام به آن تعلق دارد. اگر پیام رشتهای نباشد، این قسمت خالی خواهد بود. قالب: spaces/{space}/threads/{thread} |
plaintextBody |
متن اصلی پیام بااستفاده از قالببندی Markdown. |
sender |
فرستنده پیام. |
createTime |
فقط خروجی. مُهر زمان ایجاد پیام. قالب: مهر زمان ISO 8601. |
threadedReply |
اینکه پیام پاسخ رشته است یا نه. |
attachments[] |
پیوستها در پیام گنجانده شده است. |
reactionSummaries[] |
خلاصه واکنشهای اموجی موجود در پیام. |
quotedMessageMetadata |
فقط خروجی. اطلاعات درباره پیام اصلی که در این پیام نقلقول یا بازارسال شده است. توجه: این فیلد درحال توسعه است و ممکن است هنوز در همه محیطها وجود نداشته باشد. |
کاربر
| نمایش JSON |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| فیلدها | |
|---|---|
userId |
نام منبع کاربر Chat. قالب: users/{user}. |
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 |
منبع پیوست. |
driveFileId |
فقط خروجی. شناسه فایل Google Drive. فقط زمانی درج میشود که منبع DRIVE_FILE باشد. با Google Drive MCP استفاده کنید. |
ReactionSummary
| نمایش JSON |
|---|
{ "emoji": string, "count": integer } |
| فیلدها | |
|---|---|
emoji |
رشته یونیکد اموجی یا نام اموجی سفارشی. |
count |
تعداد کل واکنشها بااستفاده از اموجی مربوطه. |
QuotedMessageMetadata
| نمایش JSON |
|---|
{ "messageId": string, "lastUpdateTime": string, "quoteType": enum ( |
| فیلدها | |
|---|---|
messageId |
فقط خروجی. نام منبع پیام اصلی که نقلقول یا بازارسال شده است. قالب: spaces/{space}/messages/{message} |
lastUpdateTime |
فقط خروجی. مُهر زمان مربوط به زمانی که پیام اصلی ایجاد شده یا آخرینبار قبلاز نقلقول یا بازارسال بهروزرسانی شده است. قالب: مهر زمان ISO 8601. |
quoteType |
فقط خروجی. نوع مظنه قیمت. |
plaintextBody |
فقط خروجی. عکس آنی از متن اصلی پیام در زمان نقلقول یا بازارسال. قالببندیشده بااستفاده از Markdown برای |
sender |
فقط خروجی. نام نمایشی نویسنده پیام اصلی. |
attachments[] |
فقط خروجی. پیوستهایی که بخشی از پیام اصلی بودهاند. فقط برای نوع مظنه |
forwardedMetadata |
فقط خروجی. فراداده درباره مکالمه منبع پیام بازارسالشده. فقط برای نوع مظنه |
ForwardedMetadata
| نمایش JSON |
|---|
{ "conversationId": string, "conversationDisplayName": string } |
| فیلدها | |
|---|---|
conversationId |
فقط خروجی. نام منبع مکالمه منبع. قالب: spaces/{space} |
conversationDisplayName |
فقط خروجی. نام نمایشی مکالمه منبع در زمان بازارسال پیام. برای فضاهای نامگذاریشده، این نام فضا است. برای پیامهای مستقیم یکبهیک، این نام شرکتکننده دیگر است. برای گپهای گروهی بینام، این نام براساس نام اعضا تولید میشود. |
UserType
نوع کاربر Google Chat.
| شمارشیها | |
|---|---|
USER_TYPE_UNSPECIFIED |
نامشخص. |
HUMAN |
کاربر انسانی. |
APP |
کاربر برنامه. |
منبع
منبع پیوست.
| شمارشیها | |
|---|---|
SOURCE_UNSPECIFIED |
رزروشده. |
DRIVE_FILE |
فایل از نوع Google Drive باشد. |
UPLOADED_CONTENT |
فایل در Chat بارگذاری میشود. |
QuoteType
نوع نقلقول که نشان میدهد پیام پاسخ نقلشده است یا پیام بازارسالشده.
| شمارشیها | |
|---|---|
QUOTE_TYPE_UNSPECIFIED |
رزروشده. نوع نقلقول تعریفنشده. |
REPLY |
پیام پاسخ نقلقولی به پیام اصلی در همان رشته است. |
FORWARD |
پیام از پیام اصلی در مکالمهای متفاوت یا از رشتهای متفاوت در همان مکالمه بازارسال شده است. |
حاشیهنویسیهای ابزار
حاشیهنویسیهای ابزار به کارخواهان MCP ارسال میشود تا خطر اصلی ابزار موردنظر را شرح دهد. اکثر کارخواهها این راهنماییها را غیرقابلاعتماد تلقی میکنند، اما میتوان از آنها برای تصمیمگیری درباره زمان ارسال پیامواره تأیید به کاربر استفاده کرد.
همراه با رشته عنوان، نکات بولی زیر بهصورت زیر تعریف میشوند:
-
readOnlyHint: اگر درست باشد، ابزار محیط خود را تغییر نمیدهد. پیشفرض: false. -
destructiveHint: اگر درست باشد، ابزار میتواند کنشهای مخرب انجام دهد. اگر نادرست باشد، ابزار فقط میتواند کنشهای افزایشی انجام دهد. پیشفرض: true. idempotentHint: اگر درست باشد، فراخوانی مکرر ابزار با آرگومانهای یکسان تأثیر بیشتری بر محیط آن نخواهد داشت. پیشفرض: false.openWorldHint: اگر درست باشد، ابزار میتواند با «دنیای باز» نهادهای خارجی تعامل داشته باشد. اگر نادرست باشد، ابزار فقط میتواند با نهادهای داخلی تعامل داشته باشد. برای مثال، ابزار جستجوی وب دنیای باز است، درحالیکه ابزار حافظه دنیای باز نیست.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌
دامنههای مجوز
به یکی از دامنههای OAuth زیر نیاز دارد:
https://www.googleapis.com/auth/chat.messageshttps://www.googleapis.com/auth/chat.messages.readonly