Events: insert

इवेंट बनाया जाता है. इसे अभी आज़माएं या उदाहरण देखें.

अनुरोध

एचटीटीपी अनुरोध

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events

पैरामीटर

पैरामीटर का नाम मान ब्यौरा
पाथ पैरामीटर
calendarId string Calendar आइडेंटिफ़ायर. कैलेंडर आईडी पाने के लिए, calendarList.list तरीके को कॉल करें. अगर आपको उस उपयोगकर्ता का मुख्य कैलेंडर ऐक्सेस करना है जिसने फ़िलहाल लॉग इन किया हुआ है, तो "primary" कीवर्ड का इस्तेमाल करें.
ज़रूरी नहीं क्वेरी पैरामीटर
conferenceDataVersion integer एपीआई क्लाइंट के साथ काम करने वाले कॉन्फ़्रेंस डेटा का वर्शन नंबर. वर्शन 0 में यह माना गया है कि कॉन्फ़्रेंस के लिए कोई डेटा उपलब्ध नहीं है और इवेंट के मुख्य हिस्से में कॉन्फ़्रेंस के डेटा को अनदेखा किया गया है. पहले वर्शन में, ConferenceData को कॉपी करने के साथ-साथ, conferenceData के createRequest फ़ील्ड का इस्तेमाल करके नई कॉन्फ़्रेंस बनाने की सुविधा भी मिलती है. डिफ़ॉल्ट वैल्यू 0 है. 0 से 1 तक की वैल्यू ही इस्तेमाल की जा सकती हैं.
maxAttendees integer जवाब में शामिल किए जाने वाले मेहमानों की ज़्यादा से ज़्यादा संख्या. अगर मीटिंग में हिस्सा लेने वाले लोगों की संख्या, तय की गई संख्या से ज़्यादा है, तो सिर्फ़ मीटिंग में हिस्सा लेने वाले व्यक्ति की जानकारी दिखेगी. ज़रूरी नहीं.
sendNotifications boolean समर्थन नहीं होना या रुकना. इसके बजाय, कृपया sendUpdates का इस्तेमाल करें.

नए इवेंट बनाने के बारे में सूचनाएं भेजनी हैं या नहीं. ध्यान दें कि वैल्यू को false पर सेट करने के बाद भी, कुछ ईमेल भेजे जा सकते हैं. डिफ़ॉल्ट रूप से, यह false पर सेट होता है.
sendUpdates string चुनें कि नया इवेंट बनाने के बारे में सूचनाएं भेजनी हैं या नहीं. ध्यान दें कि कुछ ईमेल अब भी भेजे जा सकते हैं. डिफ़ॉल्ट रूप से, यह false पर सेट होता है.

ये वैल्यू स्वीकार की जाती हैं:
  • "all": सूचनाएं सभी मेहमानों को भेजी जाती हैं.
  • "externalOnly": सूचनाएं सिर्फ़ उन मेहमानों को भेजी जाती हैं जो Google Calendar का इस्तेमाल नहीं करते.
  • "none": कोई सूचना नहीं भेजी गई है.
supportsAttachments boolean क्या कार्रवाई करने वाला एपीआई क्लाइंट, इवेंट अटैचमेंट के साथ काम करता है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है.

अनुमति देना

इस अनुरोध के लिए, इनमें से कम से कम एक दायरे की अनुमति लेना ज़रूरी है:

दायरा
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

ज़्यादा जानकारी के लिए, पुष्टि और अनुमति पेज देखें.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इन प्रॉपर्टी के साथ इवेंट रिसॉर्स दें:

प्रॉपर्टी का नाम मान ब्यौरा नोट
ज़रूरी प्रॉपर्टी
end nested object इवेंट के खत्म होने का समय. बार-बार होने वाले इवेंट के लिए, यह पहले इवेंट के खत्म होने का समय होता है.
start nested object इवेंट के शुरू होने का समय. बार-बार होने वाले इवेंट के लिए, यह पहले इंस्टेंस के शुरू होने का समय होता है.
वैकल्पिक प्रॉपर्टी
anyoneCanAddSelf boolean इवेंट में कोई भी व्यक्ति खुद को शामिल कर सकता है या नहीं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है. लिखा जा सकता है
attachments[].fileUrl string अटैचमेंट का यूआरएल लिंक.

Google Drive में मौजूद फ़ाइल अटैचमेंट जोड़ने के लिए, उसी फ़ॉर्मैट का इस्तेमाल करें जो Drive API में Files संसाधन की alternateLink प्रॉपर्टी में इस्तेमाल किया गया है.

अटैचमेंट जोड़ते समय ज़रूरी है.

लिखा जा सकता है
attendees[] list इवेंट में शामिल होने वाले लोग. कैलेंडर का इस्तेमाल करने वाले अन्य उपयोगकर्ताओं के साथ इवेंट शेड्यूल करने के बारे में ज़्यादा जानकारी के लिए, मेहमानों के साथ इवेंट वाली गाइड देखें. मीटिंग में हिस्सा लेने वाले लोगों की सूची भरने के लिए, सेवा खातों को डोमेन के लिए अनुमति देने की सुविधा का इस्तेमाल करना होगा. लिखा जा सकता है
attendees[].additionalGuests integer अतिरिक्त मेहमानों की संख्या. ज़रूरी नहीं. डिफ़ॉल्ट वैल्यू 0 है. लिखा जा सकता है
attendees[].comment string मीटिंग में हिस्सा लेने वाले व्यक्ति की टिप्पणी. ज़रूरी नहीं. लिखा जा सकता है
attendees[].displayName string मेहमान का नाम, अगर उपलब्ध हो. ज़रूरी नहीं. लिखा जा सकता है
attendees[].email string अगर उपलब्ध हो, तो मीटिंग में शामिल होने वाले व्यक्ति का ईमेल पता. मीटिंग में शामिल होने वाले व्यक्ति को जोड़ते समय, यह फ़ील्ड मौजूद होना चाहिए. यह RFC5322 के मुताबिक मान्य ईमेल पता होना चाहिए.

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

लिखा जा सकता है
attendees[].optional boolean क्या यह व्यक्ति मीटिंग में शामिल होना चाहता है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है. लिखा जा सकता है
attendees[].resource boolean मीटिंग में शामिल व्यक्ति, संसाधन है या नहीं. इसे सिर्फ़ तब सेट किया जा सकता है, जब मेहमान को इवेंट में पहली बार जोड़ा गया हो. इसके बाद किए गए बदलावों को अनदेखा कर दिया जाता है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है. लिखा जा सकता है
attendees[].responseStatus string मेहमान के जवाब की स्थिति. वैल्यू इस तरह की हो सकती हैं:
  • "needsAction" - मेहमान ने न्योते का जवाब नहीं दिया है (इसका सुझाव नए इवेंट के लिए दिया जाता है).
  • "declined" - मेहमान ने न्योता अस्वीकार कर दिया है.
  • "tentative" - मेहमान ने न्योते को अभी के लिए स्वीकार कर लिया है.
  • "accepted" - मेहमान ने न्योता स्वीकार कर लिया है.
लिखा जा सकता है
birthdayProperties nested object जन्मदिन या खास इवेंट का डेटा. अगर eventType, "birthday" है, तो इस्तेमाल किया जाता है. इम्यूटेबल. लिखा जा सकता है
birthdayProperties.type string जन्मदिन या खास इवेंट का टाइप. संभावित वैल्यू ये हैं:
  • "anniversary" - जन्मदिन के अलावा कोई दूसरी सालगिरह. इसमें हमेशा contact होता है.
  • "birthday" - जन्मदिन का कोई इवेंट. यह डिफ़ॉल्ट मान है.
  • "custom" - कोई खास तारीख, जिसका लेबल customTypeName फ़ील्ड में दिया गया है. इसमें हमेशा contact होता है.
  • "other" - एक खास तारीख, जो दूसरी कैटगरी में नहीं आती है और न ही उस पर कोई कस्टम लेबल होता है. इसमें हमेशा contact होता है.
  • "self" - कैलेंडर के मालिक का जन्मदिन. इसमें contact नहीं हो सकता.
Calendar API में सिर्फ़ "birthday" टाइप वाले इवेंट बनाए जा सकते हैं. इवेंट बनाने के बाद, उसका टाइप नहीं बदला जा सकता.
लिखा जा सकता है
colorId string इवेंट का रंग. यह एक आईडी है, जो कलर की परिभाषा के event सेक्शन में मौजूद किसी एंट्री का रेफ़रंस देता है. कलर एंडपॉइंट देखें. ज़रूरी नहीं. लिखा जा सकता है
conferenceData nested object कॉन्फ़्रेंस से जुड़ी जानकारी, जैसे कि Google Meet कॉन्फ़्रेंस का ब्यौरा. नई कॉन्फ़्रेंस की जानकारी बनाने के लिए, createRequest फ़ील्ड का इस्तेमाल करें. अपने बदलावों को सेव करने के लिए, इवेंट में बदलाव करने के सभी अनुरोधों के लिए, conferenceDataVersion अनुरोध पैरामीटर को 1 पर सेट करना न भूलें. लिखा जा सकता है
description string इवेंट के बारे में जानकारी. इसमें एचटीएमएल शामिल हो सकता है. ज़रूरी नहीं. लिखा जा सकता है
end.date date अगर यह पूरे दिन का इवेंट है, तो "yyyy-mm-dd" फ़ॉर्मैट में तारीख. लिखा जा सकता है
end.dateTime datetime तारीख और समय की वैल्यू, जो RFC3339 के हिसाब से फ़ॉर्मैट की गई हो. टाइम ज़ोन ऑफ़सेट की वैल्यू देना ज़रूरी है. हालांकि, अगर timeZone में टाइम ज़ोन की जानकारी साफ़ तौर पर दी गई है, तो ऑफ़सेट की वैल्यू देना ज़रूरी नहीं है. लिखा जा सकता है
end.timeZone string वह टाइम ज़ोन जिसमें समय बताया गया है. (आईएएनए टाइम ज़ोन डेटाबेस के नाम के तौर पर फ़ॉर्मैट किया गया, जैसे कि "Europe/Zurich".) बार-बार होने वाले इवेंट के लिए, यह फ़ील्ड ज़रूरी है. इससे उस टाइम ज़ोन की जानकारी मिलती है जिसमें इवेंट दोहराया जाता है. एक बार होने वाले इवेंट के लिए, यह फ़ील्ड ज़रूरी नहीं है. यह इवेंट के शुरू/खत्म होने के लिए, कस्टम टाइम ज़ोन दिखाता है. लिखा जा सकता है
eventType string इवेंट का खास टाइप. इवेंट बनाने के बाद, इस सेटिंग में बदलाव नहीं किया जा सकता. वैल्यू इस तरह की हो सकती हैं:
  • "birthday" - पूरे दिन चलने वाला ऐसा खास इवेंट जो साल में एक बार होता है.
  • "default" - यह एक सामान्य इवेंट है या किसी खास इवेंट के बारे में नहीं बताया गया है.
  • "focusTime" - फ़ोकस टाइम इवेंट.
  • "fromGmail" - Gmail से कोई इवेंट. इस तरह का इवेंट नहीं बनाया जा सकता.
  • "outOfOffice" - 'अभी मैं छुट्टी पर हूं' इवेंट.
  • "workingLocation" - काम करने की जगह की जानकारी से जुड़ा इवेंट.
लिखा जा सकता है
extendedProperties.private object ऐसी प्रॉपर्टी जो इस कैलेंडर पर दिखने वाले इवेंट की कॉपी के लिए निजी होती हैं. लिखा जा सकता है
extendedProperties.shared object ऐसी प्रॉपर्टी जो इवेंट की कॉपी के बीच शेयर की जाती हैं. ये प्रॉपर्टी, इवेंट में शामिल अन्य लोगों के कैलेंडर पर मौजूद होती हैं. लिखा जा सकता है
focusTimeProperties nested object फ़ोकस टाइम इवेंट का डेटा. अगर eventType, focusTime है, तो इस्तेमाल किया जाता है. लिखा जा सकता है
gadget.display string गैजेट का डिसप्ले मोड. समर्थन नहीं होना या रुकना. वैल्यू इस तरह की हो सकती हैं:
  • "icon" - यह गैजेट, कैलेंडर व्यू में इवेंट के टाइटल के बगल में दिखता है.
  • "chip" - इवेंट पर क्लिक करने पर गैजेट दिखता है.
लिखा जा सकता है
gadget.height integer पिक्सल में गैजेट की ऊंचाई. ऊंचाई, शून्य से बड़ी पूर्णांक होनी चाहिए. ज़रूरी नहीं. समर्थन नहीं होना या रुकना. लिखा जा सकता है
gadget.preferences object प्राथमिकताएं पर क्लिक करें. लिखा जा सकता है
gadget.title string गैजेट का टाइटल. समर्थन नहीं होना या रुकना. लिखा जा सकता है
gadget.type string गैजेट का टाइप. समर्थन नहीं होना या रुकना. लिखा जा सकता है
gadget.width integer पिक्सल में गैजेट की चौड़ाई. चौड़ाई 0 से बड़ी कोई पूर्णांक होनी चाहिए. ज़रूरी नहीं. समर्थन नहीं होना या रुकना. लिखा जा सकता है
guestsCanInviteOthers boolean आयोजक के अलावा, इवेंट में शामिल होने वाले अन्य लोग, दूसरे लोगों को न्योता भेज सकते हैं या नहीं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, 'सही' होता है. लिखा जा सकता है
guestsCanModify boolean इवेंट के आयोजक के अलावा, दूसरे लोग इवेंट में बदलाव कर सकते हैं या नहीं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है. लिखा जा सकता है
guestsCanSeeOtherGuests boolean आयोजक के अलावा, इवेंट में शामिल अन्य लोग यह देख सकते हैं कि इवेंट में कौन-कौन शामिल है. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'सही' पर सेट होता है. लिखा जा सकता है
id string इवेंट का ओपेक आइडेंटिफ़ायर. एक बार होने वाले या बार-बार होने वाले नए इवेंट बनाते समय, उनके आईडी तय किए जा सकते हैं. दिए गए आईडी इन नियमों के मुताबिक होने चाहिए:
  • आईडी में ऐसे वर्ण इस्तेमाल किए जा सकते हैं जिनका इस्तेमाल base32hex कोड में किया जाता है.जैसे, अंग्रेज़ी के छोटे अक्षर a से v और अंक 0 से 9. RFC2938 में सेक्शन 3.1.2 देखें
  • आईडी में 5 से 1,024 वर्ण होने चाहिए
  • हर कैलेंडर के लिए आईडी यूनीक होना चाहिए
सिस्टम दुनिया भर में उपलब्ध है. इसलिए, हम यह गारंटी नहीं दे सकते कि इवेंट बनाने के समय आईडी के मेल खाने का पता चल जाएगा. यूनीक आइडेंटिटी का इस्तेमाल करने से जुड़ी समस्याओं से बचने के लिए, हमारा सुझाव है कि आप किसी ऐसे यूयूआईडी एल्गोरिदम का इस्तेमाल करें जिसे पहले से इस्तेमाल किया जा रहा हो. जैसे, RFC4122 में बताया गया एल्गोरिदम.

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

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

लिखा जा सकता है
location string इवेंट की भौगोलिक जगह, बिना स्ट्रक्चर वाले टेक्स्ट के तौर पर. ज़रूरी नहीं. लिखा जा सकता है
originalStartTime.date date अगर यह पूरे दिन का इवेंट है, तो "yyyy-mm-dd" फ़ॉर्मैट में तारीख. लिखा जा सकता है
originalStartTime.dateTime datetime तारीख और समय की वैल्यू, जो RFC3339 के हिसाब से फ़ॉर्मैट की गई हो. टाइम ज़ोन ऑफ़सेट की वैल्यू देना ज़रूरी है. हालांकि, अगर timeZone में टाइम ज़ोन की जानकारी साफ़ तौर पर दी गई है, तो ऑफ़सेट की वैल्यू देना ज़रूरी नहीं है. लिखा जा सकता है
originalStartTime.timeZone string वह टाइम ज़ोन जिसमें समय बताया गया है. (आईएएनए टाइम ज़ोन डेटाबेस के नाम के तौर पर फ़ॉर्मैट किया गया, जैसे कि "Europe/Zurich".) बार-बार होने वाले इवेंट के लिए, यह फ़ील्ड ज़रूरी है. इससे उस टाइम ज़ोन की जानकारी मिलती है जिसमें इवेंट दोहराया जाता है. एक बार होने वाले इवेंट के लिए, यह फ़ील्ड ज़रूरी नहीं है. यह इवेंट के शुरू/खत्म होने के लिए, कस्टम टाइम ज़ोन दिखाता है. लिखा जा सकता है
outOfOfficeProperties nested object 'अभी मैं छुट्टी पर हूं' इवेंट का डेटा. अगर eventType, outOfOffice है, तो इस्तेमाल किया जाता है. लिखा जा सकता है
recurrence[] list बार-बार होने वाले इवेंट के लिए RRULE, EXRULE, RDATE, और EXDATE लाइनों की सूची, जैसा कि RFC5545 में बताया गया है. ध्यान दें कि इस फ़ील्ड में DTSTART और DTEND लाइन का इस्तेमाल नहीं किया जा सकता. इवेंट के शुरू और खत्म होने का समय, start और end फ़ील्ड में बताया जाता है. इस फ़ील्ड को किसी एक इवेंट या बार-बार होने वाले इवेंट के लिए इस्तेमाल नहीं किया जाता. लिखा जा सकता है
reminders.overrides[] list अगर इवेंट में डिफ़ॉल्ट रिमाइंडर का इस्तेमाल नहीं किया गया है, तो इससे इवेंट के लिए खास रिमाइंडर की सूची बनती है. अगर इवेंट में कोई रिमाइंडर सेट नहीं है, तो इससे पता चलता है कि इस इवेंट के लिए कोई रिमाइंडर सेट नहीं है. ज़्यादा से ज़्यादा पांच रिमाइंडर बदले जा सकते हैं. लिखा जा सकता है
reminders.overrides[].method string इस रिमाइंडर के लिए इस्तेमाल किया गया तरीका. संभावित वैल्यू ये हैं:
  • "email" - रिमाइंडर, ईमेल से भेजे जाते हैं.
  • "popup" - रिमाइंडर, यूज़र इंटरफ़ेस (यूआई) पॉप-अप के ज़रिए भेजे जाते हैं.

रिमाइंडर जोड़ते समय ज़रूरी है.

लिखा जा सकता है
reminders.overrides[].minutes integer इवेंट शुरू होने से कितने मिनट पहले रिमाइंडर ट्रिगर होना चाहिए. वैल्यू 0 से 40320 (मिनट में चार हफ़्ते) के बीच होनी चाहिए.

रिमाइंडर जोड़ते समय ज़रूरी है.

लिखा जा सकता है
reminders.useDefault boolean इवेंट पर कैलेंडर के डिफ़ॉल्ट रिमाइंडर लागू होंगे या नहीं. लिखा जा सकता है
sequence integer iCalendar के हिसाब से क्रम का नंबर. लिखा जा सकता है
source.title string सोर्स का टाइटल. उदाहरण के लिए, किसी वेब पेज या ईमेल का विषय. लिखा जा सकता है
source.url string किसी संसाधन पर ले जाने वाले सोर्स का यूआरएल. यूआरएल स्कीम, एचटीटीपी या एचटीटीपीएस होना चाहिए. लिखा जा सकता है
start.date date अगर यह पूरे दिन का इवेंट है, तो "yyyy-mm-dd" फ़ॉर्मैट में तारीख. लिखा जा सकता है
start.dateTime datetime तारीख और समय की वैल्यू, जो RFC3339 के हिसाब से फ़ॉर्मैट की गई हो. टाइम ज़ोन ऑफ़सेट की वैल्यू देना ज़रूरी है. हालांकि, अगर timeZone में टाइम ज़ोन की जानकारी साफ़ तौर पर दी गई है, तो ऑफ़सेट की वैल्यू देना ज़रूरी नहीं है. लिखा जा सकता है
start.timeZone string वह टाइम ज़ोन जिसमें समय बताया गया है. (आईएएनए टाइम ज़ोन डेटाबेस के नाम के तौर पर फ़ॉर्मैट किया गया, जैसे कि "Europe/Zurich".) बार-बार होने वाले इवेंट के लिए, यह फ़ील्ड ज़रूरी है. इससे उस टाइम ज़ोन की जानकारी मिलती है जिसमें इवेंट दोहराया जाता है. एक बार होने वाले इवेंट के लिए, यह फ़ील्ड ज़रूरी नहीं है. यह इवेंट के शुरू/खत्म होने के लिए, कस्टम टाइम ज़ोन दिखाता है. लिखा जा सकता है
status string इवेंट की स्थिति. ज़रूरी नहीं. वैल्यू इस तरह की हो सकती हैं:
  • "confirmed" - इवेंट की पुष्टि हो गई है. यह डिफ़ॉल्ट स्टेटस है.
  • "tentative" - इवेंट की अस्थायी तौर पर पुष्टि हो गई है.
  • "cancelled" - इवेंट रद्द कर दिया गया है (मिटाया गया है). list तरीका, सिर्फ़ इंक्रीमेंटल सिंक (जब syncToken या updatedMin तय किए जाते हैं) पर रद्द किए गए इवेंट दिखाता है. इसके अलावा, यह तब भी दिखता है, जब showDeleted फ़्लैग को true पर सेट किया गया हो. get मेथड हमेशा उन्हें दिखाता है.

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

    1. बार-बार होने वाले किसी ऐसे इवेंट के लिए, रद्द किए गए अपवादों का मतलब है कि इस इंस्टेंस को अब उपयोगकर्ता को नहीं दिखाया जाना चाहिए. क्लाइंट को ये इवेंट, पैरंट बार-बार होने वाले इवेंट की अवधि तक सेव रखने चाहिए.

      रद्द किए गए अपवादों में, सिर्फ़ id, recurringEventId, और originalStartTime फ़ील्ड की वैल्यू भरी होती हैं. अन्य फ़ील्ड खाली हो सकते हैं.

    2. रद्द किए गए अन्य सभी इवेंट, मिटाए गए इवेंट दिखाते हैं. क्लाइंट को, लोकल स्टोरेज में सिंक की गई कॉपी हटानी चाहिए. रद्द किए गए ऐसे इवेंट धीरे-धीरे हट जाएंगे. इसलिए, इस बात पर भरोसा न करें कि वे हमेशा के लिए उपलब्ध रहेंगे.

      मिटाए गए इवेंट के लिए, सिर्फ़ id फ़ील्ड में जानकारी भरी जाती है.

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

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

लिखा जा सकता है
summary string इवेंट का शीर्षक. लिखा जा सकता है
transparency string इवेंट, कैलेंडर पर समय ब्लॉक करता है या नहीं. ज़रूरी नहीं. वैल्यू इस तरह की हो सकती हैं:
  • "opaque" - डिफ़ॉल्ट वैल्यू. इवेंट, कैलेंडर पर समय को ब्लॉक कर देता है. यह Calendar के यूज़र इंटरफ़ेस (यूआई) में, मुझे इस तरह दिखाएं को व्यस्त पर सेट करने के बराबर है.
  • "transparent" - इवेंट, कैलेंडर पर समय को ब्लॉक नहीं करता. यह Calendar के यूज़र इंटरफ़ेस (यूआई) में, मुझे इस तौर पर दिखाएं को उपलब्ध पर सेट करने के बराबर है.
लिखा जा सकता है
visibility string इवेंट किसको दिखे. ज़रूरी नहीं. वैल्यू इस तरह की हो सकती हैं:
  • "default" - कैलेंडर पर इवेंट के लिए, डिफ़ॉल्ट रूप से दिखने की सेटिंग का इस्तेमाल करता है. यह डिफ़ॉल्ट मान है.
  • "public" - इवेंट सार्वजनिक है और कैलेंडर के सभी पाठकों को इवेंट की जानकारी दिखती है.
  • "private" - इवेंट निजी है और सिर्फ़ इवेंट में शामिल लोग ही उसकी जानकारी देख सकते हैं.
  • "confidential" - इवेंट निजी है. यह वैल्यू, काम करने की सुविधा के लिए दी गई है.
लिखा जा सकता है
workingLocationProperties nested object काम करने की जगह का इवेंट डेटा. लिखा जा सकता है
workingLocationProperties.customLocation object अगर यह जानकारी मौजूद हो, तो इससे पता चलता है कि उपयोगकर्ता अपनी पसंद की जगह से काम कर रहा है. लिखा जा सकता है
workingLocationProperties.customLocation.label string ज़्यादा जानकारी के लिए, एक अतिरिक्त लेबल जोड़ा जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है. लिखा जा सकता है
workingLocationProperties.homeOffice any value अगर यह जानकारी मौजूद हो, तो इससे पता चलता है कि उपयोगकर्ता घर से काम कर रहा है. लिखा जा सकता है
workingLocationProperties.officeLocation object अगर यह मौजूद है, तो इसका मतलब है कि उपयोगकर्ता ऑफ़िस से काम कर रहा है. लिखा जा सकता है
workingLocationProperties.officeLocation.buildingId string इमारत का एक वैकल्पिक आइडेंटिफ़ायर. यह संगठन के संसाधन डेटाबेस में मौजूद बिल्डिंग आईडी से जुड़ा होना चाहिए. लिखा जा सकता है
workingLocationProperties.officeLocation.deskId string एक वैकल्पिक डेस्क आइडेंटिफ़ायर. लिखा जा सकता है
workingLocationProperties.officeLocation.floorId string मंज़िल का वैकल्पिक आइडेंटिफ़ायर. लिखा जा सकता है
workingLocationProperties.officeLocation.floorSectionId string फ़्लोर सेक्शन का आइडेंटिफ़ायर, जो ज़रूरी नहीं है. लिखा जा सकता है
workingLocationProperties.officeLocation.label string ऑफ़िस का वह नाम जो Calendar के वेब और मोबाइल क्लाइंट में दिखता है. हमारा सुझाव है कि आप संगठन के संसाधनों के डेटाबेस में मौजूद इमारत का नाम देखें. लिखा जा सकता है
workingLocationProperties.type string काम करने की जगह का टाइप. वैल्यू इस तरह की हो सकती हैं:
  • "homeOffice" - उपयोगकर्ता घर से काम कर रहा है.
  • "officeLocation" - उपयोगकर्ता किसी ऑफ़िस से काम कर रहा है.
  • "customLocation" - उपयोगकर्ता किसी कस्टम जगह से काम कर रहा है.
कोई भी जानकारी, बताए गए नाम के सब-फ़ील्ड में दी जाती है. हालांकि, अगर यह फ़ील्ड खाली है, तो हो सकता है कि यह मौजूद न हो. इसके अलावा, अन्य फ़ील्ड को अनदेखा कर दिया जाता है.

काम करने की जगह की जानकारी जोड़ने के लिए ज़रूरी है.

लिखा जा सकता है

जवाब

अगर यह तरीका कामयाब होता है, तो यह जवाब के मुख्य हिस्से में इवेंट रिसॉर्स दिखाता है.

उदाहरण

ध्यान दें: इस तरीके के लिए दिए गए कोड के उदाहरणों में इसके साथ काम करने वाली सभी प्रोग्रामिंग भाषाएं नहीं दिखाई गई हैं (इसके साथ काम करने वाली भाषाओं की सूची के लिए क्लाइंट लाइब्रेरी वाला पेज देखें).

Java

Java क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

// Refer to the Java quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/java
// Change the scope to CalendarScopes.CALENDAR and delete any stored
// credentials.

Event event = new Event()
    .setSummary("Google I/O 2015")
    .setLocation("800 Howard St., San Francisco, CA 94103")
    .setDescription("A chance to hear more about Google's developer products.");

DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("America/Los_Angeles");
event.setStart(start);

DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("America/Los_Angeles");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee[] attendees = new EventAttendee[] {
    new EventAttendee().setEmail("[email protected]"),
    new EventAttendee().setEmail("[email protected]"),
};
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
System.out.printf("Event created: %s\n", event.getHtmlLink());

Python

Python क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

# Refer to the Python quickstart on how to setup the environment:
# https://developers.google.com/calendar/quickstart/python
# Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
# stored credentials.

event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': '[email protected]'},
    {'email': '[email protected]'},
  ],
  'reminders': {
    'useDefault': False,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
}

event = service.events().insert(calendarId='primary', body=event).execute()
print 'Event created: %s' % (event.get('htmlLink'))

PHP

PHP क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

// Refer to the PHP quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/php
// Change the scope to Google_Service_Calendar::CALENDAR and delete any stored
// credentials.

$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Google I/O 2015',
  'location' => '800 Howard St., San Francisco, CA 94103',
  'description' => 'A chance to hear more about Google\'s developer products.',
  'start' => array(
    'dateTime' => '2015-05-28T09:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => '2015-05-28T17:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => '[email protected]'),
    array('email' => '[email protected]'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);

Ruby

Ruby क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Google I/O 2015',
  location: '800 Howard St., San Francisco, CA 94103',
  description: 'A chance to hear more about Google\'s developer products.',
  start: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T09:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  end: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T17:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  recurrence: [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  attendees: [
    Google::Apis::CalendarV3::EventAttendee.new(
      email: '[email protected]'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: '[email protected]'
    )
  ],
  reminders: Google::Apis::CalendarV3::Event::Reminders.new(
    use_default: false,
    overrides: [
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'email',
        minutes: 24 * 60
      ),
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'popup',
        minutes: 10
      )
    ]
  )
)

result = client.insert_event('primary', event)
puts "Event created: #{result.html_link}"

.NET

.NET क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

// Refer to the .NET quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/dotnet
// Change the scope to CalendarService.Scope.Calendar and delete any stored
// credentials.

Event newEvent = new Event()
{
    Summary = "Google I/O 2015",
    Location = "800 Howard St., San Francisco, CA 94103",
    Description = "A chance to hear more about Google's developer products.",
    Start = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    End = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" },
    Attendees = new EventAttendee[] {
        new EventAttendee() { Email = "[email protected]" },
        new EventAttendee() { Email = "[email protected]" },
    },
    Reminders = new Event.RemindersData()
    {
        UseDefault = false,
        Overrides = new EventReminder[] {
            new EventReminder() { Method = "email", Minutes = 24 * 60 },
            new EventReminder() { Method = "sms", Minutes = 10 },
        }
    }
};

String calendarId = "primary";
EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId);
Event createdEvent = request.Execute();
Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);

शुरू करें

Go क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

// Refer to the Go quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/go
// Change the scope to calendar.CalendarScope and delete any stored credentials.

event := &calendar.Event{
  Summary: "Google I/O 2015",
  Location: "800 Howard St., San Francisco, CA 94103",
  Description: "A chance to hear more about Google's developer products.",
  Start: &calendar.EventDateTime{
    DateTime: "2015-05-28T09:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  End: &calendar.EventDateTime{
    DateTime: "2015-05-28T17:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"},
  Attendees: []*calendar.EventAttendee{
    &calendar.EventAttendee{Email:"[email protected]"},
    &calendar.EventAttendee{Email:"[email protected]"},
  },
}

calendarId := "primary"
event, err = srv.Events.Insert(calendarId, event).Do()
if err != nil {
  log.Fatalf("Unable to create event. %v\n", err)
}
fmt.Printf("Event created: %s\n", event.HtmlLink)

JavaScript

JavaScript क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': '[email protected]'},
    {'email': '[email protected]'}
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10}
    ]
  }
};

var request = gapi.client.calendar.events.insert({
  'calendarId': 'primary',
  'resource': event
});

request.execute(function(event) {
  appendPre('Event created: ' + event.htmlLink);
});

Node.js

Node.js क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

// Refer to the Node.js quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/node
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': '[email protected]'},
    {'email': '[email protected]'},
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
};

calendar.events.insert({
  auth: auth,
  calendarId: 'primary',
  resource: event,
}, function(err, event) {
  if (err) {
    console.log('There was an error contacting the Calendar service: ' + err);
    return;
  }
  console.log('Event created: %s', event.htmlLink);
});

इसे आज़माएं!

लाइव डेटा पर इस तरीके को कॉल करने और जवाब देखने के लिए, नीचे दिए गए एपीआई एक्सप्लोरर का इस्तेमाल करें.