टूल: list_events
यह फ़ंक्शन, किसी कैलेंडर में मौजूद उन इवेंट की सूची दिखाता है जो दी गई शर्तों को पूरा करते हैं.
मुख्य सुविधाएं:
- कोई भी Calendar ID. यह उपयोगकर्ता का प्राइमरी कैलेंडर या कोई अन्य कैलेंडर हो सकता है.
- समयसीमा के हिसाब से फ़िल्टर करना.
- समय की पाबंदियों से मेल खाने वाले सभी इवेंट वापस लाता है.
अगर उपलब्ध हो, तो उपयोगकर्ता के मुख्य कैलेंडर में खोज करने के लिए, search_events टूल का इस्तेमाल करें. ऐसा तब करें, जब:
- आपने किसी विषय, कैटगरी या मकसद से मिलते-जुलते इवेंट के लिए क्वेरी की है. जैसे, 'दोपहर के खाने के दौरान होने वाली मीटिंग', 'प्रोजेक्ट सिंक'.
- आपको सभी इवेंट के बजाय, सबसे ज़्यादा काम के (टॉप K) इवेंट ढूंढने हैं.
- आपको कीवर्ड या सिमैंटिक सर्च की सुविधाओं की ज़रूरत होगी.
इस टूल का इस्तेमाल, इस तरह की क्वेरी के लिए करें:
- मेरे कैलेंडर में कल के लिए क्या-क्या है?
- मेरे कैलेंडर पर 14 जुलाई, 2025 के लिए कौनसा इवेंट सेट है?
- अगले हफ़्ते मेरी कौन-कौनसी मीटिंग हैं?
- क्या आज दोपहर मेरी एक से ज़्यादा मीटिंग एक ही समय पर हैं?
जॉन की कल कौन-कौनसी मीटिंग हैं?
उदाहरण:
list_events(
startTime='2024-09-17T06:00:00',
endTime='2024-09-17T12:00:00',
pageSize=10
)
# Returns up to 10 calendar events between 6:00 AM and 12:00 PM on September 17, 2024 from the user's primary calendar.
यहां दिए गए सैंपल में, curl का इस्तेमाल करके list_events एमसीपी टूल को चालू करने का तरीका बताया गया है.
| कर्ल अनुरोध |
|---|
curl --location 'https://calendarmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_events", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
इनपुट स्कीमा
ListEventsRequest
| JSON के काेड में दिखाना |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| फ़ील्ड | |
|---|---|
eventTypeFilter[] |
ज़रूरी नहीं. लौटाए जाने वाले इवेंट टाइप. ये वैल्यू इस्तेमाल की जा सकती हैं:
अगर यह फ़ील्ड खाली है, तो सिर्फ़ इन इवेंट टाइप को दिखाया जाएगा: |
यूनियन फ़ील्ड
|
|
calendarId |
ज़रूरी नहीं. वह कैलेंडर आईडी जिससे इवेंट की सूची बनानी है. डिफ़ॉल्ट रूप से, यह उपयोगकर्ता का मुख्य कैलेंडर होता है. |
यूनियन फ़ील्ड
|
|
pageSize |
ज़रूरी नहीं. नतीजे वाले एक पेज पर दिखाए जाने वाले इवेंट की ज़्यादा से ज़्यादा संख्या. ऐसा हो सकता है कि क्वेरी से मेल खाने वाले ज़्यादा इवेंट मौजूद होने के बावजूद, नतीजे वाले पेज में इस वैल्यू से कम इवेंट दिखें या कोई भी इवेंट न दिखे. जवाब में |
यूनियन फ़ील्ड
|
|
pageToken |
ज़रूरी नहीं. यह टोकन बताता है कि नतीजों का कौनसा पेज दिखाना है. |
यूनियन फ़ील्ड
|
|
startTime |
ज़रूरी नहीं. इवेंट के खत्म होने के समय की निचली सीमा (एक्सक्लूसिव). सिर्फ़ वे इवेंट दिखाए जाते हैं जो इस समय के बाद खत्म होते हैं. इसका मतलब है कि खोज के लिए समयसीमा की शुरुआत. अगर |
यूनियन फ़ील्ड
|
|
endTime |
ज़रूरी नहीं. इवेंट के शुरू होने के समय की ऊपरी सीमा (शामिल नहीं है). सिर्फ़ वे इवेंट दिखाए जाते हैं जो इस समय से पहले शुरू हुए हों. इसका मतलब है कि खोज के लिए समयसीमा खत्म हो गई है. अगर यह वैल्यू दी गई है, तो यह |
यूनियन फ़ील्ड
|
|
timeZone |
ज़रूरी नहीं. जवाब में इस्तेमाल किया गया टाइम ज़ोन. साथ ही, अनुरोध में बिना टाइमज़ोन वाली तारीखों को हल करने के लिए इस्तेमाल किया गया टाइम ज़ोन. इसे IANA टाइम ज़ोन डेटाबेस के नाम के तौर पर फ़ॉर्मैट किया जाता है. उदाहरण के लिए, |
यूनियन फ़ील्ड
|
|
orderBy |
ज़रूरी नहीं. इवेंट किस क्रम में दिखाए जाने चाहिए. ये वैल्यू इस्तेमाल की जा सकती हैं:
|
यूनियन फ़ील्ड
|
|
fullText |
ज़रूरी नहीं. टाइटल, ब्यौरे, जगह की जानकारी, और मेहमानों के हिसाब से खोजने के लिए, फ़्री-फ़ॉर्म सर्च क्वेरी. |
आउटपुट स्कीमा
ListEventsResponse
| JSON के काेड में दिखाना |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| फ़ील्ड | |
|---|---|
summary |
कैलेंडर का टाइटल. |
description |
कैलेंडर के बारे में जानकारी. |
updated |
कैलेंडर में पिछली बार बदलाव करने का समय (आईएसओ 8601 टाइमस्टैंप के तौर पर). |
timeZone |
कैलेंडर का टाइम ज़ोन. |
accessRole |
इस कैलेंडर के लिए उपयोगकर्ता की ऐक्सेस भूमिका. सिर्फ़ पढ़ने के लिए. ये वैल्यू इस्तेमाल की जा सकती हैं:
|
defaultReminders[] |
कैलेंडर में, पुष्टि किए गए उपयोगकर्ता के लिए डिफ़ॉल्ट रिमाइंडर. ये रिमाइंडर, इस कैलेंडर के उन सभी इवेंट पर लागू होते हैं जिनके लिए रिमाइंडर की सेटिंग अलग से नहीं की गई है. इसका मतलब है कि जिन इवेंट के लिए override_reminders फ़ील्ड में वैल्यू नहीं भरी गई है. |
events[] |
कैलेंडर में मौजूद इवेंट की सूची. |
यूनियन फ़ील्ड
|
|
nextPageToken |
इस टोकन का इस्तेमाल, इस नतीजे के अगले पेज को ऐक्सेस करने के लिए किया जाता है. अगर कोई और नतीजा उपलब्ध नहीं है, तो इसे नहीं दिखाया जाता. |
रिमाइंडर
| JSON के काेड में दिखाना |
|---|
{ "method": string "minutes": integer } |
| फ़ील्ड | |
|---|---|
यूनियन फ़ील्ड
|
|
method |
ज़रूरी है. उपयोगकर्ता को रिमाइंडर कैसे भेजा जाता है. ये वैल्यू इस्तेमाल की जा सकती हैं:
|
यूनियन फ़ील्ड
|
|
minutes |
ज़रूरी है. रिमाइंडर कितने मिनट पहले डिलीवर किया जाना चाहिए. |
इवेंट
| JSON के काेड में दिखाना |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| फ़ील्ड | |
|---|---|
id |
इवेंट का अपारदर्शी आइडेंटिफ़ायर. एक बार होने वाले या बार-बार होने वाले नए इवेंट बनाते समय, उनके आईडी तय किए जा सकते हैं. सबमिट किए गए आईडी इन नियमों के मुताबिक होने चाहिए:
सिस्टम दुनिया भर में फैला हुआ है. इसलिए, हम इस बात की गारंटी नहीं दे सकते कि इवेंट बनाते समय आईडी के टकराव का पता चल जाएगा. हमारा सुझाव है कि टकराव के जोखिम को कम करने के लिए, किसी ऐसे यूयूआईडी एल्गोरिदम का इस्तेमाल करें जो पहले से मौजूद हो. जैसे, RFC4122 में बताया गया एल्गोरिदम. अगर आपने कोई आईडी नहीं दिया है, तो सर्वर इसे अपने-आप जनरेट कर देगा. ध्यान दें कि icalUID और id एक जैसे नहीं होते हैं. इवेंट बनाते समय, इनमें से सिर्फ़ एक को शामिल किया जाना चाहिए. इनके सिमैंटिक में एक अंतर यह है कि बार-बार होने वाले इवेंट में, एक इवेंट के सभी इंस्टेंस के आईडी अलग-अलग होते हैं. हालांकि, उन सभी का icalUID एक ही होता है. |
status |
इवेंट की स्थिति. ज़रूरी नहीं. ये वैल्यू इस्तेमाल की जा सकती हैं:
'रद्द किया गया' स्टेटस, इवेंट टाइप के हिसाब से दो अलग-अलग स्थितियों को दिखाता है:
आयोजक के कैलेंडर में, रद्द किए गए इवेंट की जानकारी (खास जानकारी, जगह वगैरह) दिखती रहती है, ताकि उन्हें वापस लाया जा सके. इसी तरह, जिन इवेंट के लिए उपयोगकर्ता को न्योता भेजा गया था और जिन्हें उसने मैन्युअल तरीके से हटाया था उनकी जानकारी भी मिलती रहेगी. हालांकि, showDeleted को false पर सेट करके, इंक्रीमेंटल सिंक के अनुरोध करने पर यह जानकारी नहीं मिलेगी. अगर किसी इवेंट का आयोजक बदल जाता है (उदाहरण के लिए, इवेंट को दूसरी जगह ले जाने की कार्रवाई के ज़रिए) और मूल आयोजक, शामिल होने वाले लोगों की सूची में नहीं है, तो इवेंट रद्द हो जाएगा. इसमें सिर्फ़ आईडी फ़ील्ड में जानकारी मौजूद होगी. |
htmlLink |
Google Calendar के वेब यूज़र इंटरफ़ेस (यूआई) में, इस इवेंट का पूरा लिंक. सिर्फ़ पढ़ने के लिए. |
created |
इवेंट बनाए जाने का समय (आईएसओ 8601 फ़ॉर्मैट वाले टाइमस्टैंप के तौर पर). सिर्फ़ पढ़ने के लिए. |
updated |
मुख्य इवेंट डेटा में पिछली बार बदलाव कब किया गया था. यह आईएसओ 8601 फ़ॉर्मैट वाला टाइमस्टैंप होता है. इवेंट के रिमाइंडर अपडेट करने से, इस सेटिंग में कोई बदलाव नहीं होगा. सिर्फ़ पढ़ने के लिए. |
summary |
इवेंट का शीर्षक. |
description |
इवेंट के बारे में जानकारी. इसमें एचटीएमएल शामिल हो सकता है. ज़रूरी नहीं. |
location |
इवेंट की भौगोलिक जगह, बिना स्ट्रक्चर वाले टेक्स्ट के तौर पर. ज़रूरी नहीं. |
creator |
इवेंट बनाने वाला. सिर्फ़ पढ़ने के लिए. |
organizer |
इवेंट का आयोजक. अगर मीटिंग का न्योता देने वाला व्यक्ति भी शामिल होने वाला व्यक्ति है, तो इसे शामिल होने वाले लोगों की सूची में अलग से दिखाया जाता है. साथ ही, 'मीटिंग का न्योता देने वाला व्यक्ति' फ़ील्ड को 'सही' पर सेट किया जाता है. सिर्फ़ पढ़ने के लिए. |
start |
इवेंट के शुरू होने का समय (शामिल है). बार-बार होने वाले इवेंट के लिए, यह पहले इंस्टेंस के शुरू होने का समय होता है. |
end |
इवेंट के खत्म होने का समय (अलग से उपलब्ध). बार-बार होने वाले इवेंट के लिए, यह पहले इंस्टेंस के खत्म होने का समय होता है. |
recurrence[] |
बार-बार होने वाले इवेंट के लिए, RFC5545 में बताए गए RRULE, EXRULE, RDATE, और EXDATE लाइनों की सूची. ध्यान दें कि इस फ़ील्ड में DTSTART और DTEND लाइनों का इस्तेमाल नहीं किया जा सकता. इवेंट के शुरू और खत्म होने का समय, start और end फ़ील्ड में बताया जाता है. इस फ़ील्ड को, किसी खास इवेंट या बार-बार होने वाले इवेंट के इंस्टेंस के लिए शामिल नहीं किया जाता. |
recurringEventId |
बार-बार होने वाले इवेंट के किसी इंस्टेंस के लिए, यह उस इवेंट का आईडी होता है जिससे यह इंस्टेंस जुड़ा होता है. इम्यूटेबल. |
originalStartTime |
बार-बार होने वाले इवेंट के किसी इंस्टेंस के लिए, यह वह समय होता है जब यह इवेंट, recurringEventId से पहचाने गए बार-बार होने वाले इवेंट के दोहराव के डेटा के हिसाब से शुरू होगा. यह बार-बार होने वाले इवेंट की सीरीज़ में इंस्टेंस की यूनीक पहचान करता है. भले ही, इंस्टेंस को किसी दूसरे समय पर ले जाया गया हो. इम्यूटेबल. |
transparency |
इससे पता चलता है कि इवेंट, कैलेंडर में समय ब्लॉक करता है या नहीं. ज़रूरी नहीं. ये वैल्यू इस्तेमाल की जा सकती हैं:
|
visibility |
इवेंट किसको दिखे. ज़रूरी नहीं. ये वैल्यू इस्तेमाल की जा सकती हैं:
|
attendees[] |
इवेंट में शामिल होने वाले लोग. |
eventType |
इवेंट का टाइप. इवेंट बनाने के बाद, इसमें बदलाव नहीं किया जा सकता. ये वैल्यू इस्तेमाल की जा सकती हैं:
|
conferenceUrl |
इवेंट के लिए Google Meet का लिंक. |
colorId |
इवेंट का रंग आईडी (स्ट्रिंग
Google Calendar में, इवेंट के रंग कैटगरी के तौर पर काम करते हैं. इन्हें हर इवेंट या हर सीरीज़ के हिसाब से सेट किया जा सकता है. उपयोगकर्ता, वेब यूज़र इंटरफ़ेस (यूआई) में रंगों के लिए कस्टम लेबल असाइन कर सकते हैं.जैसे, |
overrideReminders[] |
इस इवेंट के लिए सेट किए गए रिमाइंडर. ये रिमाइंडर, कैलेंडर के डिफ़ॉल्ट रिमाइंडर को बदल देते हैं. अगर यह नीति सेट नहीं की गई है, तो कैलेंडर पर मौजूद डिफ़ॉल्ट रिमाइंडर का इस्तेमाल किया जाता है. |
मुख्य रकम
| JSON के काेड में दिखाना |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| फ़ील्ड | |
|---|---|
email |
मुख्य कैलेंडर का ईमेल पता. |
displayName |
अगर उपलब्ध हो, तो प्रिंसिपल का नाम. |
self |
इससे पता चलता है कि यह प्रिंसिपल, उस कैलेंडर से मेल खाती है जिस पर इवेंट की यह कॉपी दिखती है. सिर्फ़ पढ़ने के लिए. डिफ़ॉल्ट रूप से, यह False पर सेट होता है. |
DateOrDateTime
| JSON के काेड में दिखाना |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| फ़ील्ड | |
|---|---|
date |
आईएसओ 8601 फ़ॉर्मैट में, यूटीसी के हिसाब से आधी रात की तारीख, जैसे कि |
dateTime |
ISO 8601 फ़ॉर्मैट में टाइमस्टैंप, जैसे कि |
timeZone |
अगर TZDB टाइमज़ोन का नाम उपलब्ध है, तो उसे दिखाएं. |
मीटिंग में हिस्सा लेने वाला व्यक्ति
| JSON के काेड में दिखाना |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| फ़ील्ड | |
|---|---|
id |
अगर उपलब्ध हो, तो मीटिंग में शामिल होने वाले व्यक्ति का प्रोफ़ाइल आईडी. |
email |
अगर उपलब्ध हो, तो शामिल होने वाले व्यक्ति का ईमेल पता. किसी व्यक्ति को मेहमान के तौर पर जोड़ने के लिए, यह फ़ील्ड मौजूद होना चाहिए. यह RFC5322 के मुताबिक मान्य ईमेल पता होना चाहिए. किसी व्यक्ति को मेहमान के तौर पर जोड़ते समय यह फ़ील्ड ज़रूरी होता है. |
displayName |
अगर उपलब्ध हो, तो शामिल होने वाले व्यक्ति का नाम. ज़रूरी नहीं. |
organizer |
यह जानकारी कि मेहमान, इवेंट का आयोजक है या नहीं. सिर्फ़ पढ़ने के लिए. डिफ़ॉल्ट रूप से, यह False पर सेट होता है. |
self |
क्या यह एंट्री उस कैलेंडर को दिखाती है जिस पर इवेंट की यह कॉपी दिखती है. सिर्फ़ पढ़ने के लिए. डिफ़ॉल्ट रूप से, यह False पर सेट होता है. |
resource |
क्या शामिल होने वाला व्यक्ति कोई संसाधन है. इस विकल्प को सिर्फ़ तब सेट किया जा सकता है, जब किसी व्यक्ति को पहली बार इवेंट में शामिल किया जाता है. इसके बाद किए गए बदलावों को अनदेखा कर दिया जाता है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह False पर सेट होता है. |
optionalAttendee |
क्या यह वैकल्पिक तौर पर शामिल होने वाला व्यक्ति है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह False पर सेट होता है. |
responseStatus |
मीटिंग में शामिल होने वाले व्यक्ति के जवाब की स्थिति. ये वैल्यू इस्तेमाल की जा सकती हैं:
|
comment |
इसमें शामिल व्यक्ति की ओर से दिया गया जवाब. ज़रूरी नहीं. |
additionalGuests |
अतिरिक्त मेहमानों की संख्या. ज़रूरी नहीं. डिफ़ॉल्ट वैल्यू 0 होती है. |
टूल एनोटेशन
बदलाव करने से जुड़ी जानकारी: ❌ | एक ही बार लागू होने से जुड़ी जानकारी: ✅ | सिर्फ़ पढ़ने से जुड़ी जानकारी: ✅ | ओपन वर्ल्ड से जुड़ी जानकारी: ❌