Events: insert

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

अनुरोध करें

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

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

पैरामीटर

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

नया इवेंट बनाने के बारे में सूचनाएं भेजें या नहीं. ध्यान दें कि भले ही आपने 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 एपीआई में मौजूद 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" - मेहमान ने न्योता स्वीकार कर लिया है.
लिखा जा सकता है
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 समय क्षेत्र जिसमें समय बताया गया है. (IANA समय क्षेत्र डेटाबेस नाम, जैसे "यूरोप/ज़्यूरिख" के रूप में फ़ॉर्मैट किया गया.) बार-बार होने वाले इवेंट के लिए यह फ़ील्ड ज़रूरी होता है. साथ ही, यह उस टाइम ज़ोन के बारे में भी बताता है जिसमें दोहराए जाने वाले इवेंट को बढ़ाया जाता है. यह इवेंट वैकल्पिक है और इवेंट के शुरू/खत्म होने के लिए कस्टम समय क्षेत्र दिखाता है. लिखा जा सकता है
extendedProperties.private object ऐसी प्रॉपर्टी जो इस कैलेंडर पर दिखने वाले इवेंट की कॉपी के साथ निजी होती हैं. लिखा जा सकता है
extendedProperties.shared object ऐसी प्रॉपर्टी जिन्हें मेहमानों के कैलेंडर पर, इवेंट की कॉपी के बीच शेयर किया जाता है. लिखा जा सकता है
gadget.display string गैजेट का प्रदर्शन मोड. समर्थन नहीं होना या रुकना. वैल्यू इस तरह की हो सकती हैं:
  • "icon" - गैजेट, कैलेंडर व्यू में इवेंट के शीर्षक के आगे दिखता है.
  • "chip" - गैजेट, इवेंट पर क्लिक किए जाने पर दिखाता है.
लिखा जा सकता है
gadget.height integer गैजेट की ऊंचाई पिक्सल में. ऊंचाई 0 से ज़्यादा होना चाहिए. ज़रूरी नहीं. समर्थन नहीं होना या रुकना. लिखा जा सकता है
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 से 1024 वर्णों के बीच होनी चाहिए
  • हर कैलेंडर के लिए आईडी अलग होना चाहिए
यह अनुमान लगाने के लिए कि यह सिस्टम, दुनिया भर में किस तरह का है, हम इवेंट बनाते समय आईडी के टकराव का पता लगाने की गारंटी नहीं दे सकते. टकराव की संभावना को कम करने के लिए, हम U4422 में बताए गए तरीके की मदद से, इंस्टॉल किए गए UUID एल्गोरिदम का इस्तेमाल करने का सुझाव देते हैं.

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

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

लिखा जा सकता है
location string फ़्री फ़ॉर्म टेक्स्ट के तौर पर, इवेंट की भौगोलिक जगह. ज़रूरी नहीं. लिखा जा सकता है
originalStartTime.date date अगर यह पूरे दिन का इवेंट है, तो "yyyy-mm-dd" फ़ॉर्मैट में तारीख. लिखा जा सकता है
originalStartTime.dateTime datetime समय को तारीख और समय के मिले-जुले रूप में (RFC3339 के मुताबिक फ़ॉर्मैट किया गया). timeZone में टाइम ज़ोन ऑफ़सेट की जानकारी देना ज़रूरी है. लिखा जा सकता है
originalStartTime.timeZone string समय क्षेत्र जिसमें समय बताया गया है. (IANA समय क्षेत्र डेटाबेस नाम, जैसे "यूरोप/ज़्यूरिख" के रूप में फ़ॉर्मैट किया गया.) बार-बार होने वाले इवेंट के लिए यह फ़ील्ड ज़रूरी होता है. साथ ही, यह उस टाइम ज़ोन के बारे में भी बताता है जिसमें दोहराए जाने वाले इवेंट को बढ़ाया जाता है. यह इवेंट वैकल्पिक है और इवेंट के शुरू/खत्म होने के लिए कस्टम समय क्षेत्र दिखाता है. लिखा जा सकता है
recurrence[] list आरएफ़सी5545 में बताए गए किसी बार-बार होने वाले इवेंट के लिए Rनियमों, EXREQUEST, RDATE, और EXDATE लाइनों की सूची. ध्यान दें कि इस फ़ील्ड में 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 समय क्षेत्र जिसमें समय बताया गया है. (IANA समय क्षेत्र डेटाबेस नाम, जैसे "यूरोप/ज़्यूरिख" के रूप में फ़ॉर्मैट किया गया.) बार-बार होने वाले इवेंट के लिए यह फ़ील्ड ज़रूरी होता है. साथ ही, यह उस टाइम ज़ोन के बारे में भी बताता है जिसमें दोहराए जाने वाले इवेंट को बढ़ाया जाता है. यह इवेंट वैकल्पिक है और इवेंट के शुरू/खत्म होने के लिए कस्टम समय क्षेत्र दिखाता है. लिखा जा सकता है
status string इवेंट की स्थिति. ज़रूरी नहीं. वैल्यू इस तरह की हो सकती हैं:
  • "confirmed" - इवेंट की पुष्टि हो गई है. यह डिफ़ॉल्ट स्थिति है.
  • "tentative" - इवेंट की पुष्टि अस्थायी तौर पर की गई है.
  • "cancelled" - इवेंट रद्द कर दिया गया है (मिटा दिया गया है). सूची वाला तरीका रद्द किए गए इवेंट को सिर्फ़ इंक्रीमेंटल सिंक (जब syncToken या updatedMin के बारे में बताया गया हो) पर देता है या showDeleted फ़्लैग को true पर सेट किया जाता है. get तरीका उन्हें हमेशा दिखाता है.

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

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

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

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

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

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

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

लिखा जा सकता है
summary string इवेंट का शीर्षक. लिखा जा सकता है
transparency string इवेंट, कैलेंडर पर समय को रोक रहा है या नहीं. ज़रूरी नहीं. वैल्यू इस तरह की हो सकती हैं:
  • "opaque" - डिफ़ॉल्ट वैल्यू. इवेंट, कैलेंडर पर समय को रोक देता है. यह यूज़र इंटरफ़ेस (यूआई) को कैलेंडर यूज़र इंटरफ़ेस (यूआई) पर व्यस्त के तौर पर सेट करने के बराबर है.
  • "transparent" - कैलेंडर के समय को इवेंट ब्लॉक नहीं करता. यह यूज़र इंटरफ़ेस (यूआई) को कैलेंडर यूज़र इंटरफ़ेस (यूआई) पर उपलब्ध है के तौर पर सेट करने के बराबर है.
लिखा जा सकता है
visibility string इवेंट किसे दिखेगा. ज़रूरी नहीं. वैल्यू इस तरह की हो सकती हैं:
  • "default" - कैलेंडर पर इवेंट के लिए डिफ़ॉल्ट दृश्यता का उपयोग करता है. यह डिफ़ॉल्ट मान है.
  • "public" - इवेंट सार्वजनिक है और इवेंट के विवरण कैलेंडर के सभी पाठकों को दिखाई देते हैं.
  • "private" - इवेंट निजी है और सिर्फ़ इवेंट में शामिल लोग ही इवेंट की जानकारी देख सकते हैं.
  • "confidential" - इवेंट निजी है. यह वैल्यू, ऐप्लिकेशन के साथ काम करने की वजहों से दी गई है.
लिखा जा सकता है

जवाब

अगर यह सफल होता है, तो यह तरीका रिस्पॉन्स के मुख्य भाग में इवेंट संसाधन दिखाता है.

उदाहरण

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

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("lpage@example.com"),
    new EventAttendee().setEmail("sbrin@example.com"),
};
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': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  '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' => 'lpage@example.com'),
    array('email' => 'sbrin@example.com'),
  ),
  '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: 'lpage@example.com'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'sbrin@example.com'
    )
  ],
  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 = "lpage@example.com" },
        new EventAttendee() { Email = "sbrin@example.com" },
    },
    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:"lpage@example.com"},
    &calendar.EventAttendee{Email:"sbrin@example.com"},
  },
}

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': 'lpage@example.com'},
    {'email': 'sbrin@example.com'}
  ],
  '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': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  '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);
});

इसे आज़माएं!

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