टूल: list_messages
यह फ़ंक्शन, Markdown फ़ॉर्मैट में, Google Chat की किसी बातचीत (स्पेस, डायरेक्ट मैसेज (डीएम) या ग्रुप डीएम) से मैसेज वापस लाता है. इसकी मदद से, थ्रेड, समयसीमा, और मैसेज की संख्या के हिसाब से फ़िल्टर किया जा सकता है. इसके अलावा, ज़्यादा जानकारी पाने के लिए, मैसेज का अगला पेज भी वापस पाया जा सकता है. निजी मैसेज (ऐसे मैसेज जो सिर्फ़ एक उपयोगकर्ता को दिखते हैं) को फ़िल्टर कर दिया जाता है.
यहां दिए गए कोड सैंपल में, list_messages MCP टूल को कॉल करने के लिए 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 tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
इनपुट स्कीमा
ListChatMessagesRequest
| JSON के काेड में दिखाना |
|---|
{ "conversationId": string, "threadId": string, "pageSize": integer, "pageToken": string, "startTime": string, "endTime": string } |
| फ़ील्ड | |
|---|---|
conversationId |
ज़रूरी है. बातचीत का आईडी. कोई बातचीत, स्पेस, डायरेक्ट मैसेज (डीएम) या ग्रुप डीएम/चैट हो सकती है. फ़ॉर्मैट: spaces/{space} |
threadId |
ज़रूरी नहीं. बातचीत में मौजूद किसी थ्रेड का आईडी. अगर यह पैरामीटर दिया जाता है, तो सिर्फ़ इस थ्रेड के मैसेज दिखाए जाएंगे. अगर इसे शामिल नहीं किया जाता है, तो बातचीत में मौजूद सभी थ्रेड के मैसेज को शामिल किया जाता है. फ़ॉर्मैट: spaces/{space}/threads/{thread} |
pageSize |
ज़रूरी नहीं. ज्यादा से ज्यादा कितने मैसेज वापस लाने हैं. ऐसा हो सकता है कि सेवा इस वैल्यू से कम नतीजे दिखाए. अगर कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट रूप से इसकी वैल्यू 20 होती है. ज़्यादा से ज़्यादा वैल्यू 50 हो सकती है. अगर 50 से ज़्यादा वैल्यू का इस्तेमाल किया जाता है, तो उसे अपने-आप 50 में बदल दिया जाता है. |
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 |
सिर्फ़ आउटपुट के लिए. मैसेज बनाए जाने का टाइमस्टैंप. |
threadedReply |
यह मैसेज, थ्रेड में दिया गया जवाब है या नहीं. |
attachments[] |
मैसेज में शामिल किए गए अटैचमेंट. |
reactionSummaries[] |
मैसेज में शामिल इमोजी से दी गई प्रतिक्रियाओं की खास जानकारी. |
उपयोगकर्ता
| 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 |
कॉन्टेंट का टाइप (एमआईएमई टाइप). |
source |
अटैचमेंट का सोर्स. |
ReactionSummary
| JSON के काेड में दिखाना |
|---|
{ "emoji": string, "count": integer } |
| फ़ील्ड | |
|---|---|
emoji |
इमोजी यूनिकोड स्ट्रिंग या पसंद के मुताबिक बनाए गए इमोजी का नाम. |
count |
इमोजी का इस्तेमाल करके दी गई प्रतिक्रियाओं की कुल संख्या. |
UserType
Google Chat इस्तेमाल करने वाले व्यक्ति का टाइप.
| Enums | |
|---|---|
USER_TYPE_UNSPECIFIED |
नहीं बताया गया है |
HUMAN |
कोई इंसान. |
APP |
ऐप्लिकेशन का उपयोगकर्ता. |
स्रोत
अटैचमेंट का सोर्स.
| Enums | |
|---|---|
SOURCE_UNSPECIFIED |
बुक किया गया. |
DRIVE_FILE |
फ़ाइल, Google Drive में मौजूद कोई फ़ाइल है. |
UPLOADED_CONTENT |
फ़ाइल को Chat पर अपलोड किया जाता है. |
टूल एनोटेशन
टूल के एनोटेशन, एमसीपी क्लाइंट को भेजे जाते हैं. इनसे किसी टूल से जुड़े बुनियादी जोखिम के बारे में जानकारी मिलती है. ज़्यादातर क्लाइंट, इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि किसी उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.
टाइटल स्ट्रिंग के साथ-साथ, यहां दिए गए बूलियन हिंट भी तय किए गए हैं:
readOnlyHint: अगर यह सही है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता है. डिफ़ॉल्ट: गलत.destructiveHint: अगर यह वैल्यू 'सही है' पर सेट है, तो टूल, डेटा को मिटाने जैसी कार्रवाइयां कर सकता है. अगर यह वैल्यू 'गलत है' पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: सही.idempotentHint: अगर यह वैल्यू सही है, तो एक ही आर्ग्युमेंट के साथ टूल को बार-बार कॉल करने से, इसके एनवायरमेंट पर कोई अतिरिक्त असर नहीं पड़ेगा. डिफ़ॉल्ट: गलत.openWorldHint: अगर यह वैल्यू सही है, तो टूल बाहरी इकाइयों की 'ओपन वर्ल्ड' के साथ इंटरैक्ट कर सकता है. अगर यह गलत है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब पर खोज करने वाला टूल ओपन वर्ल्ड होगा, जबकि याददाश्त से जुड़ा टूल ओपन वर्ल्ड नहीं होगा.
डेटा में बदलाव करने से जुड़ी जानकारी: ❌ | एक ही अनुरोध को कई बार भेजने पर भी नतीजे में कोई बदलाव न होने से जुड़ी जानकारी: ✅ | सिर्फ़ पढ़ने से जुड़ी जानकारी: ✅ | ओपन वर्ल्ड से जुड़ी जानकारी: ❌
अनुमति पाने के लिंक
इसके लिए, इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:
https://www.googleapis.com/auth/chat.messageshttps://www.googleapis.com/auth/chat.messages.readonly