MCP Tools Reference: calendarmcp.googleapis.com

टूल: get_event

यह फ़ंक्शन, दिए गए कैलेंडर से एक इवेंट दिखाता है.

इस टूल का इस्तेमाल, इस तरह की क्वेरी के लिए करें:

  • टीम मीटिंग की जानकारी पाना.
  • मुझे मेरे कैलेंडर में event123 आईडी वाला इवेंट दिखाओ.

उदाहरण:

get_event(
            eventId='event123'
        )
        # Returns the event details for the event with id `event123` on the user's primary calendar.
        

यहां दिए गए सैंपल में, curl का इस्तेमाल करके get_event एमसीपी टूल को चालू करने का तरीका बताया गया है.

कर्ल अनुरोध
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": "get_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

इनपुट स्कीमा

GetEventRequest

JSON के काेड में दिखाना
{
  "eventId": string,

  "calendarId": string
}
फ़ील्ड
eventId

string

ज़रूरी है. जिस इवेंट को पाना है उसका आईडी.

यूनियन फ़ील्ड _calendar_id.

_calendar_id इनमें से सिर्फ़ एक हो सकता है:

calendarId

string

ज़रूरी नहीं. वह कैलेंडर आईडी जिससे इवेंट की जानकारी मिलती है. डिफ़ॉल्ट रूप से, यह उपयोगकर्ता का मुख्य कैलेंडर होता है.

आउटपुट स्कीमा

इवेंट

JSON के काेड में दिखाना
{
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": string,
  "updated": string,
  "summary": string,
  "description": string,
  "location": string,
  "creator": {
    object (Principal)
  },
  "organizer": {
    object (Principal)
  },
  "start": {
    object (DateOrDateTime)
  },
  "end": {
    object (DateOrDateTime)
  },
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    object (DateOrDateTime)
  },
  "transparency": string,
  "visibility": string,
  "attendees": [
    {
      object (Attendee)
    }
  ],
  "eventType": string,
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ]
}
फ़ील्ड
id

string

इवेंट का अपारदर्शी आइडेंटिफ़ायर. एक बार होने वाले या बार-बार होने वाले नए इवेंट बनाते समय, उनके आईडी तय किए जा सकते हैं. सबमिट किए गए आईडी इन नियमों के मुताबिक होने चाहिए:

  • आईडी में इस्तेमाल किए जा सकने वाले वर्ण, base32hex एन्कोडिंग में इस्तेमाल किए जाते हैं.जैसे, अंग्रेज़ी के छोटे अक्षर a-v और अंक 0-9. ज़्यादा जानकारी के लिए, RFC2938 में सेक्शन 3.1.2 देखें
  • आईडी की लंबाई 5 से 1,024 वर्णों के बीच होनी चाहिए
  • हर कैलेंडर के लिए आईडी यूनीक होना चाहिए

सिस्टम दुनिया भर में फैला हुआ है. इसलिए, हम इस बात की गारंटी नहीं दे सकते कि इवेंट बनाते समय आईडी के टकराव का पता चल जाएगा. हमारा सुझाव है कि टकराव के जोखिम को कम करने के लिए, किसी ऐसे यूयूआईडी एल्गोरिदम का इस्तेमाल करें जो पहले से मौजूद हो. जैसे, RFC4122 में बताया गया एल्गोरिदम.

अगर आपने कोई आईडी नहीं दिया है, तो सर्वर इसे अपने-आप जनरेट कर देगा.

ध्यान दें कि icalUID और id एक जैसे नहीं होते हैं. इवेंट बनाते समय, इनमें से सिर्फ़ एक को शामिल किया जाना चाहिए. इनके सिमैंटिक में एक अंतर यह है कि बार-बार होने वाले इवेंट में, एक इवेंट के सभी इंस्टेंस के आईडी अलग-अलग होते हैं. हालांकि, उन सभी का icalUID एक ही होता है.

status

string

इवेंट की स्थिति. ज़रूरी नहीं. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • confirmed - इवेंट की पुष्टि हो गई है. यह डिफ़ॉल्ट स्टेटस है.
  • tentative - इवेंट की पुष्टि अस्थायी तौर पर हो गई है.
  • cancelled - इवेंट को रद्द (मिटा दिया गया) कर दिया गया है. सूची वाले तरीके से, रद्द किए गए इवेंट सिर्फ़ इंक्रीमेंटल सिंक (जब syncToken या updatedMin तय किया गया हो) पर दिखाए जाते हैं. इसके अलावा, अगर showDeleted फ़्लैग को सही पर सेट किया गया हो, तब भी रद्द किए गए इवेंट दिखाए जाते हैं. get तरीके से हमेशा ये वैल्यू मिलती हैं.

'रद्द किया गया' स्टेटस, इवेंट टाइप के हिसाब से दो अलग-अलग स्थितियों को दिखाता है:

  1. बार-बार होने वाले किसी ऐसे इवेंट के रद्द किए गए अपवादों से पता चलता है कि इस इंस्टेंस को अब उपयोगकर्ता को नहीं दिखाया जाना चाहिए. क्लाइंट को इन इवेंट को, बार-बार होने वाले पैरंट इवेंट की पूरी अवधि के लिए सेव करना चाहिए.रद्द किए गए अपवादों के लिए, सिर्फ़ id, recurringEventId, और originalStartTime फ़ील्ड की वैल्यू भरी जाती हैं. ऐसा हो सकता है कि अन्य फ़ील्ड खाली हों.
  2. रद्द किए गए अन्य सभी इवेंट, मिटाए गए इवेंट होते हैं. क्लाइंट को अपनी लोकल सिंक की गई कॉपी हटा देनी चाहिए. रद्द किए गए ऐसे इवेंट आखिर में दिखना बंद हो जाएंगे. इसलिए, यह न सोचें कि ये हमेशा उपलब्ध रहेंगे. मिटाए गए इवेंट में सिर्फ़ आईडी फ़ील्ड के डेटा मौजूद होने की गारंटी होती है.

आयोजक के कैलेंडर में, रद्द किए गए इवेंट की जानकारी (खास जानकारी, जगह वगैरह) दिखती रहती है, ताकि उन्हें वापस लाया जा सके. इसी तरह, जिन इवेंट के लिए उपयोगकर्ता को न्योता भेजा गया था और जिन्हें उसने मैन्युअल तरीके से हटाया था उनकी जानकारी भी मिलती रहेगी. हालांकि, showDeleted को false पर सेट करके, इंक्रीमेंटल सिंक के अनुरोध करने पर यह जानकारी नहीं मिलेगी.

अगर किसी इवेंट का आयोजक बदल जाता है (उदाहरण के लिए, इवेंट को दूसरी जगह ले जाने की कार्रवाई के ज़रिए) और मूल आयोजक, शामिल होने वाले लोगों की सूची में नहीं है, तो इवेंट रद्द हो जाएगा. इसमें सिर्फ़ आईडी फ़ील्ड में जानकारी मौजूद होगी.

htmlLink

string

Google Calendar के वेब यूज़र इंटरफ़ेस (यूआई) में, इस इवेंट का पूरा लिंक. सिर्फ़ पढ़ने के लिए.

created

string

इवेंट बनाए जाने का समय (आईएसओ 8601 फ़ॉर्मैट वाले टाइमस्टैंप के तौर पर). सिर्फ़ पढ़ने के लिए.

updated

string

मुख्य इवेंट डेटा में पिछली बार बदलाव कब किया गया था. यह आईएसओ 8601 फ़ॉर्मैट वाला टाइमस्टैंप होता है. इवेंट के रिमाइंडर अपडेट करने से, इस सेटिंग में कोई बदलाव नहीं होगा. सिर्फ़ पढ़ने के लिए.

summary

string

इवेंट का शीर्षक.

description

string

इवेंट के बारे में जानकारी. इसमें एचटीएमएल शामिल हो सकता है. ज़रूरी नहीं.

location

string

इवेंट की भौगोलिक जगह, बिना स्ट्रक्चर वाले टेक्स्ट के तौर पर. ज़रूरी नहीं.

creator

object (Principal)

इवेंट बनाने वाला. सिर्फ़ पढ़ने के लिए.

organizer

object (Principal)

इवेंट का आयोजक. अगर मीटिंग का न्योता देने वाला व्यक्ति भी शामिल होने वाला व्यक्ति है, तो इसे शामिल होने वाले लोगों की सूची में अलग से दिखाया जाता है. साथ ही, 'मीटिंग का न्योता देने वाला व्यक्ति' फ़ील्ड को 'सही' पर सेट किया जाता है. सिर्फ़ पढ़ने के लिए.

start

object (DateOrDateTime)

इवेंट के शुरू होने का समय (शामिल है). बार-बार होने वाले इवेंट के लिए, यह पहले इंस्टेंस के शुरू होने का समय होता है.

end

object (DateOrDateTime)

इवेंट के खत्म होने का समय (अलग से उपलब्ध). बार-बार होने वाले इवेंट के लिए, यह पहले इंस्टेंस के खत्म होने का समय होता है.

recurrence[]

string

बार-बार होने वाले इवेंट के लिए, RFC5545 में बताए गए RRULE, EXRULE, RDATE, और EXDATE लाइनों की सूची. ध्यान दें कि इस फ़ील्ड में DTSTART और DTEND लाइनों का इस्तेमाल नहीं किया जा सकता. इवेंट के शुरू और खत्म होने का समय, start और end फ़ील्ड में बताया जाता है. इस फ़ील्ड को, किसी खास इवेंट या बार-बार होने वाले इवेंट के इंस्टेंस के लिए शामिल नहीं किया जाता.

recurringEventId

string

बार-बार होने वाले इवेंट के किसी इंस्टेंस के लिए, यह उस इवेंट का आईडी होता है जिससे यह इंस्टेंस जुड़ा होता है. इम्यूटेबल.

originalStartTime

object (DateOrDateTime)

बार-बार होने वाले इवेंट के किसी इंस्टेंस के लिए, यह वह समय होता है जब यह इवेंट, recurringEventId से पहचाने गए बार-बार होने वाले इवेंट के दोहराव के डेटा के हिसाब से शुरू होगा. यह बार-बार होने वाले इवेंट की सीरीज़ में इंस्टेंस की यूनीक पहचान करता है. भले ही, इंस्टेंस को किसी दूसरे समय पर ले जाया गया हो. इम्यूटेबल.

transparency

string

इससे पता चलता है कि इवेंट, कैलेंडर में समय ब्लॉक करता है या नहीं. ज़रूरी नहीं. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • opaque - डिफ़ॉल्ट वैल्यू. इवेंट, कैलेंडर में समय को ब्लॉक करता है. यह Calendar के यूज़र इंटरफ़ेस (यूआई) में, मुझे व्यस्त के तौर पर दिखाएं सेटिंग को चालू करने के बराबर है.
  • transparent - इस इवेंट से कैलेंडर में समय ब्लॉक नहीं होता. यह Calendar के यूज़र इंटरफ़ेस (यूआई) में, मुझे 'उपलब्ध' के तौर पर दिखाएं सेटिंग को चालू करने के बराबर है.
visibility

string

इवेंट किसको दिखे. ज़रूरी नहीं. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • default - इससे कैलेंडर पर इवेंट के दिखने की डिफ़ॉल्ट सेटिंग का इस्तेमाल होता है. यह डिफ़ॉल्ट वैल्यू होती है.
  • public - इवेंट सार्वजनिक है और इवेंट की जानकारी, कैलेंडर देखने वाले सभी लोगों को दिखती है.
  • private - यह इवेंट निजी है. इसमें शामिल होने वाले लोग ही इवेंट की जानकारी देख सकते हैं.
  • confidential - इवेंट को निजी के तौर पर मार्क किया गया है. यह वैल्यू, कंपैटिबिलिटी की वजह से दी गई है.
attendees[]

object (Attendee)

इवेंट में शामिल होने वाले लोग.

eventType

string

इवेंट का टाइप. इवेंट बनाने के बाद, इसमें बदलाव नहीं किया जा सकता. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • birthday - यह पूरे दिन का एक खास इवेंट होता है, जो हर साल दोहराया जाता है.
  • default - सामान्य इवेंट या इसके बारे में ज़्यादा जानकारी नहीं दी गई है.
  • focusTime - काम पर फ़ोकस करने के लिए बनाया गया इवेंट.
  • fromGmail - Gmail से मिला कोई इवेंट. इस तरह का इवेंट नहीं बनाया जा सकता.
  • outOfOffice - 'अभी मैं छुट्टी पर हूं' इवेंट.
  • workingLocation - काम करने की जगह से जुड़ा इवेंट.
conferenceUrl

string

इवेंट के लिए Google Meet का लिंक.

colorId

string

इवेंट का रंग आईडी (स्ट्रिंग 1-11):

  • 1: लैवेंडर
  • 2: सेज
  • 3: ग्रेप
  • 4: फ़्लमिंगो
  • 5: केले
  • 6: टैनजरीन
  • 7: पीकॉक
  • 8: ग्रेफ़ाइट
  • 9: ब्लूबेरी
  • 10: बेज़िल
  • 11: टमाटर.

Google Calendar में, इवेंट के रंग कैटगरी के तौर पर काम करते हैं. इन्हें हर इवेंट या हर सीरीज़ के हिसाब से सेट किया जा सकता है. उपयोगकर्ता, वेब यूज़र इंटरफ़ेस (यूआई) में रंगों के लिए कस्टम लेबल असाइन कर सकते हैं.जैसे, 1:1s, Break. हालांकि, एपीआई सिर्फ़ संख्या वाले आईडी दिखाता है, न कि उन लेबल को. इससे सिर्फ़ आपके कैलेंडर का व्यू बदलता है. मीटिंग में हिस्सा लेने वाला हर व्यक्ति, अपने इवेंट के रंग को कंट्रोल करता है.

overrideReminders[]

object (Reminder)

इस इवेंट के लिए सेट किए गए रिमाइंडर. ये रिमाइंडर, कैलेंडर के डिफ़ॉल्ट रिमाइंडर को बदल देते हैं. अगर यह नीति सेट नहीं की गई है, तो कैलेंडर पर मौजूद डिफ़ॉल्ट रिमाइंडर का इस्तेमाल किया जाता है.

मुख्य रकम

JSON के काेड में दिखाना
{
  "email": string,
  "displayName": string,
  "self": boolean
}
फ़ील्ड
email

string

मुख्य कैलेंडर का ईमेल पता.

displayName

string

अगर उपलब्ध हो, तो प्रिंसिपल का नाम.

self

boolean

इससे पता चलता है कि यह प्रिंसिपल, उस कैलेंडर से मेल खाती है जिस पर इवेंट की यह कॉपी दिखती है. सिर्फ़ पढ़ने के लिए. डिफ़ॉल्ट रूप से, यह False पर सेट होता है.

DateOrDateTime

JSON के काेड में दिखाना
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
फ़ील्ड
date

string

आईएसओ 8601 फ़ॉर्मैट में, यूटीसी के हिसाब से आधी रात की तारीख, जैसे कि 2019-11-20T00:00:00Z. अगर यह फ़ील्ड सेट है, तो date_time को सेट नहीं किया जाना चाहिए.

dateTime

string

ISO 8601 फ़ॉर्मैट में टाइमस्टैंप, जैसे कि 2019-11-20T08:19:06-07:00 या 2019-11-20T08:19:06Z. अगर यह फ़ील्ड सेट है, तो date को सेट नहीं किया जाना चाहिए.

timeZone

string

अगर TZDB टाइमज़ोन का नाम उपलब्ध है, तो उसे दिखाएं.

मीटिंग में हिस्सा लेने वाला व्यक्ति

JSON के काेड में दिखाना
{
  "id": string,
  "email": string,
  "displayName": string,
  "organizer": boolean,
  "self": boolean,
  "resource": boolean,
  "optionalAttendee": boolean,
  "responseStatus": string,
  "comment": string,
  "additionalGuests": integer
}
फ़ील्ड
id

string

अगर उपलब्ध हो, तो मीटिंग में शामिल होने वाले व्यक्ति का प्रोफ़ाइल आईडी.

email

string

अगर उपलब्ध हो, तो शामिल होने वाले व्यक्ति का ईमेल पता. किसी व्यक्ति को मेहमान के तौर पर जोड़ने के लिए, यह फ़ील्ड मौजूद होना चाहिए. यह RFC5322 के मुताबिक मान्य ईमेल पता होना चाहिए. किसी व्यक्ति को मेहमान के तौर पर जोड़ते समय यह फ़ील्ड ज़रूरी होता है.

displayName

string

अगर उपलब्ध हो, तो शामिल होने वाले व्यक्ति का नाम. ज़रूरी नहीं.

organizer

boolean

यह जानकारी कि मेहमान, इवेंट का आयोजक है या नहीं. सिर्फ़ पढ़ने के लिए. डिफ़ॉल्ट रूप से, यह False पर सेट होता है.

self

boolean

क्या यह एंट्री उस कैलेंडर को दिखाती है जिस पर इवेंट की यह कॉपी दिखती है. सिर्फ़ पढ़ने के लिए. डिफ़ॉल्ट रूप से, यह False पर सेट होता है.

resource

boolean

क्या शामिल होने वाला व्यक्ति कोई संसाधन है. इस विकल्प को सिर्फ़ तब सेट किया जा सकता है, जब किसी व्यक्ति को पहली बार इवेंट में शामिल किया जाता है. इसके बाद किए गए बदलावों को अनदेखा कर दिया जाता है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह False पर सेट होता है.

optionalAttendee

boolean

क्या यह वैकल्पिक तौर पर शामिल होने वाला व्यक्ति है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह False पर सेट होता है.

responseStatus

string

मीटिंग में शामिल होने वाले व्यक्ति के जवाब की स्थिति. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • needsAction - मेहमान ने न्योते का जवाब नहीं दिया है (नए इवेंट के लिए सुझाव दिया गया है).
  • declined - इस व्यक्ति ने न्योता अस्वीकार कर दिया है.
  • tentative - इसका मतलब है कि न्योता पाने वाले व्यक्ति ने इवेंट में शामिल होने का न्योता अभी के लिए स्वीकार कर लिया है.
  • accepted - इस निशान का मतलब है कि शामिल होने वाले व्यक्ति ने न्योता स्वीकार कर लिया है.
comment

string

इसमें शामिल व्यक्ति की ओर से दिया गया जवाब. ज़रूरी नहीं.

additionalGuests

integer

अतिरिक्त मेहमानों की संख्या. ज़रूरी नहीं. डिफ़ॉल्ट वैल्यू 0 होती है.

रिमाइंडर

JSON के काेड में दिखाना
{

  "method": string

  "minutes": integer
}
फ़ील्ड

यूनियन फ़ील्ड _method.

_method इनमें से सिर्फ़ एक हो सकता है:

method

string

ज़रूरी है. उपयोगकर्ता को रिमाइंडर कैसे भेजा जाता है. ये वैल्यू इस्तेमाल की जा सकती हैं:

  • email - रिमाइंडर ईमेल से भेजे जाते हैं.
  • popup - रिमाइंडर, यूज़र इंटरफ़ेस (यूआई) के पॉप-अप के ज़रिए भेजे जाते हैं.

यूनियन फ़ील्ड _minutes.

_minutes इनमें से सिर्फ़ एक हो सकता है:

minutes

integer

ज़रूरी है. रिमाइंडर कितने मिनट पहले डिलीवर किया जाना चाहिए.

टूल एनोटेशन

बदलाव करने से जुड़ी जानकारी: ❌ | एक ही बार लागू होने से जुड़ी जानकारी: ✅ | सिर्फ़ पढ़ने से जुड़ी जानकारी: ✅ | ओपन वर्ल्ड से जुड़ी जानकारी: ❌