इस पेज पर, eventType
प्रॉपर्टी और Google Calendar API में उपलब्ध इवेंट टाइप की खास बातों के बारे में बताया गया है.
Google Calendar में, उपयोगकर्ताओं के पास सामान्य इवेंट बनाने के साथ-साथ ऐसे इवेंट बनाने का विकल्प होता है जिन्हें खास इस्तेमाल के उदाहरणों के लिए डिज़ाइन किया गया है और जिनमें कस्टम प्रॉपर्टी शामिल हैं.
एपीआई में, इवेंट टाइप के बारे में यहां पता लगाया जा सकता है:
- सभी इवेंट,
eventType
के साथ दिखाए जाते हैं. eventType
को इवेंट रिसॉर्स बनाते या अपडेट करते समय सेट करना ज़रूरी है. अगर इसे सेट नहीं किया गया है, तो'default'
टाइप का इस्तेमाल किया जाएगा.eventTypes
कोEvents:list
कॉल में तय किया जा सकता है, ताकि खास तरह के इवेंट की सूची बनाई जा सके. अगर कोई टाइप नहीं दिया गया है, तो सभी तरह के इवेंट दिखाए जाएंगे.eventTypes
कोEvents:watch
कॉल में तय किया जा सकता है, ताकि खास तरह के इवेंट के अपडेट पाए जा सकें. अगर कोई टाइप नहीं दिया गया है, तो अनुरोध करने पर सभी तरह के इवेंट के लिए सदस्यता ले ली जाएगी.
डिफ़ॉल्ट इवेंट
default
इवेंट टाइप वाले इवेंट बनाए जाते हैं और Google Calendar API के मुख्य संसाधनों में से एक के तौर पर इस्तेमाल किए जाते हैं. ये कई तरह की प्रॉपर्टी के साथ काम करते हैं. इनका इस्तेमाल इवेंट को और ज़्यादा पसंद के मुताबिक बनाने के लिए किया जा सकता है.
Google Calendar इवेंट का इस्तेमाल शुरू करने के लिए, इवेंट बनाना लेख पढ़ें.
जन्मदिन
जन्मदिन, पूरे दिन चलने वाले खास इवेंट होते हैं. ये हर साल होते हैं.
उपयोगकर्ता, Google Calendar पर जन्मदिन के इवेंट मैन्युअल तरीके से बना सकते हैं. इसके अलावा, जब लोग Google Contacts में किसी व्यक्ति को जोड़ते हैं और उसका जन्मदिन और अन्य अहम तारीखें शामिल करते हैं, तो जन्मदिन की जानकारी Google Calendar के साथ सिंक हो जाती है. उपयोगकर्ताओं के जन्मदिन की जानकारी भी, उनकी Google खाते की प्रोफ़ाइल से Google Calendar में सिंक की जाती है.
Google Calendar API, जन्मदिन के इवेंट पढ़ने के लिए get
,
instances
, और
list
तरीकों का इस्तेमाल करता है. सिर्फ़ जन्मदिन के इवेंट दिखाने के लिए, eventTypes
को 'birthday'
पर सेट किया जा सकता है. अगर कोई टाइप नहीं चुना जाता है, तो जन्मदिन की जानकारी, अन्य सभी इवेंट टाइप के साथ दिखेगी.
जवाब में मिले Event
ऑब्जेक्ट में, इस खास इवेंट के बारे में ज़्यादा जानकारी के लिए birthdayProperties
फ़ील्ड की जांच करें. birthdayProperties
में ये फ़ील्ड शामिल हैं:
type
: इस खास इवेंट का टाइप. जैसे, जन्मदिन, सालगिरह या कोई अन्य खास तारीख.customTypeName
: उपयोगकर्ता ने इस खास इवेंट के लिए यह लेबल तय किया है.type
को'custom'
पर सेट करने पर, इस फ़ील्ड में वैल्यू अपने-आप भर जाती है.contact
: अगर यह खास इवेंट किसी संपर्क से जुड़ा है, तो उस संपर्क का संसाधन नाम. इसका फ़ॉर्मैट'people/c12345'
होता है. इसका इस्तेमाल People API से संपर्क जानकारी पाने के लिए किया जा सकता है.
एपीआई की मदद से, जन्मदिन के इवेंट बनाए जा सकते हैं. इसके लिए, insert
तरीके का इस्तेमाल किया जाता है. इसमें ये खास बातें होती हैं:
eventType
को'birthday'
पर सेट किया गया है.start
औरend
फ़ील्ड में, पूरे दिन चलने वाले इवेंट की जानकारी देनी होगी. यह इवेंट ठीक एक दिन का होना चाहिए.visibility
फ़ील्ड की वैल्यू'private'
होनी चाहिए.transparency
फ़ील्ड की वैल्यू'transparent'
होनी चाहिए.- यह हर साल दोहराया जाना चाहिए. इसका मतलब है कि
recurrence
फ़ील्ड की वैल्यू'RRULE:FREQ=YEARLY'
होनी चाहिए. 29 फ़रवरी को होने वाले जन्मदिन के इवेंट के लिए, दोहराव का यह नियम होना चाहिए:'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
. - इसमें
colorId
,summary
औरreminders
हो सकते हैं. - इसमें
birthdayProperties
हो सकता है. अगर बताया गया है, तोtype
'birthday'
होना चाहिए. साथ ही,customTypeName
औरcontact
दोनों खाली होने चाहिए. - इसमें कोई अन्य इवेंट प्रॉपर्टी नहीं होनी चाहिए.
एपीआई की मदद से, जन्मदिन के इवेंट के colorId
, summary
, और reminders
को अपडेट किया जा सकता है. इसके लिए, update
और patch
तरीकों का इस्तेमाल करें.
इवेंट की तारीख बदलने के लिए, start
और end
फ़ील्ड को भी अपडेट किया जा सकता है. इस मामले में, नई वैल्यू में पूरे दिन चलने वाले ऐसे इवेंट की जानकारी होनी चाहिए जो ठीक एक दिन तक चलता है. अगर जन्मदिन का इवेंट, contact
से लिंक है या उसका type
'self'
है, तो इवेंट के समय की जानकारी अपडेट नहीं की जा सकती.
Google Calendar API, कस्टम birthdayProperties
के साथ जन्मदिन के इवेंट बनाने या इन प्रॉपर्टी को अपडेट करने की अनुमति नहीं देता. People API की मदद से, अहम तारीखों में बदलाव किया जा सकता है. साथ ही, ये बदलाव Google Calendar के साथ सिंक हो जाते हैं. इसी तरह, उपयोगकर्ता अपनी Google खाता प्रोफ़ाइल में जाकर, अपने जन्मदिन की जानकारी में बदलाव कर सकते हैं. यह जानकारी, Google Calendar के साथ सिंक हो जाती है.
जन्मदिन की जानकारी को अपडेट करने या जोड़ने के लिए, ऐसे अनुरोध स्वीकार नहीं किए जाएंगे जो इस सुविधा के साथ काम नहीं करते. इस मामले में, गड़बड़ी के मैसेज की जांच करके समस्या का पता लगाएं.
यह एपीआई, जन्मदिन के इवेंट के लिए import
ऑपरेशन के साथ काम करता है. हालांकि, इवेंट को डिफ़ॉल्ट इवेंट के तौर पर इंपोर्ट किया जाएगा. दूसरे शब्दों में कहें, तो eventType
'default'
होगा.
एपीआई, Google Calendar पर जन्मदिन के इवेंट में हुए बदलावों की सूचना पाने के लिए, watch
तरीके का इस्तेमाल करता है.
eventTypes
को 'birthday'
पर सेट किया जा सकता है, ताकि जन्मदिन के इवेंट के अपडेट पाए जा सकें. अगर कोई टाइप नहीं चुना जाता है, तो जन्मदिन के साथ-साथ सभी तरह के इवेंट के लिए सदस्यता ले ली जाएगी.
Google Calendar API के delete
तरीके का इस्तेमाल करके, जन्मदिन के इवेंट मिटाए जा सकते हैं. Google Calendar से जन्मदिन का इवेंट मिटाने पर, Google Contacts या Google खाते की प्रोफ़ाइल में मौजूद डेटा पर कोई असर नहीं पड़ता.
move
या update
तरीकों का इस्तेमाल करके, जन्मदिन के इवेंट के आयोजक को बदलने की सुविधा उपलब्ध नहीं है.
Gmail के इवेंट
Gmail से अपने-आप जनरेट होने वाले इवेंट में 'fromGmail'
इवेंट टाइप होता है.
Google Calendar API, insert
तरीके का इस्तेमाल करके इस तरह का इवेंट बनाने की अनुमति नहीं देता.
इस एपीआई की मदद से, colorId
, reminders
, visibility
, transparency
, status
, attendees
, private
, और shared
एक्सटेंडेड प्रॉपर्टी को अपडेट किया जा सकता है. इसके लिए, update
और patch
तरीकों का इस्तेमाल करें.
एपीआई, Gmail से इवेंट पढ़ने के लिए get
और list
तरीकों का इस्तेमाल करता है. eventTypes
को 'fromGmail'
पर सेट किया जा सकता है, ताकि सिर्फ़ Gmail से जनरेट हुए इवेंट दिखें. अगर कोई टाइप नहीं चुना जाता है, तो Gmail के इवेंट, अन्य सभी तरह के इवेंट के साथ दिखेंगे.
एपीआई, Google Calendar में Gmail के इवेंट में हुए बदलावों की सूचना पाने के लिए, watch
तरीके का इस्तेमाल करता है. अगर कोई टाइप तय नहीं किया गया है, तो सभी तरह के इवेंट के लिए सदस्यता ली जाएगी. इसमें 'fromGmail'
भी शामिल है.
Gmail के इवेंट मिटाने के लिए, Google Calendar API के delete
तरीके का इस्तेमाल किया जा सकता है.
Gmail में किसी इवेंट के आयोजक को बदलने के लिए, move
या update
तरीकों का इस्तेमाल नहीं किया जा सकता.
फ़ोकस टाइम, अभी मैं छुट्टी पर हूं, और काम करने की जगह
Google Calendar API का इस्तेमाल करके, ऐसे इवेंट बनाए और मैनेज किए जा सकते हैं जो Google Calendar के उपयोगकर्ताओं की स्थिति दिखाते हैं.
ये सुविधाएं सिर्फ़ मुख्य कैलेंडर पर उपलब्ध हैं. साथ ही, ये Google Calendar के कुछ उपयोगकर्ताओं के लिए भी उपलब्ध हैं. ज़्यादा जानने के लिए, फ़ोकस टाइम, ऑफ़िस से बाहर होने, और काम करने की जगह से जुड़े इवेंट मैनेज करना लेख पढ़ें.
Google Apps Script में इवेंट टाइप एक्सप्लोर करना
Google Apps Script, JavaScript पर आधारित क्लाउड स्क्रिप्टिंग भाषा है. इसकी मदद से, कारोबार के लिए ऐसे ऐप्लिकेशन बनाए जा सकते हैं जो Google Workspace के साथ काम करते हैं. स्क्रिप्ट, ब्राउज़र पर आधारित कोड एडिटर में डेवलप की जाती हैं. साथ ही, इन्हें Google के सर्वर पर सेव और चलाया जाता है. Google Calendar API को अनुरोध भेजने के लिए, Apps Script का इस्तेमाल शुरू करने के लिए, Google Apps Script की क्विकस्टार्ट गाइड भी देखें.
यहां दिए गए निर्देशों में, Google Apps Script में ऐडवांस सेवा के तौर पर Google Calendar API का इस्तेमाल करके, इवेंट पढ़ने और मैनेज करने का तरीका बताया गया है. Google Calendar API के संसाधनों और तरीकों की पूरी सूची देखने के लिए, रेफ़रंस दस्तावेज़ देखें.
स्क्रिप्ट बनाना और उसे सेट अप करना
- script.google.com/create पर जाकर, स्क्रिप्ट बनाएं.
- बाईं ओर मौजूद पैनल में, सेवाएं के बगल में, सेवा जोड़ें पर क्लिक करें .
- Google Calendar API को चुनें और जोड़ें पर क्लिक करें.
- चालू होने के बाद, एपीआई बाईं ओर मौजूद पैनल में दिखता है. एपीआई में उपलब्ध तरीकों और क्लास की सूची देखने के लिए, एडिटर में Calendar कीवर्ड का इस्तेमाल किया जा सकता है.
(ज़रूरी नहीं) Google Cloud प्रोजेक्ट अपडेट करना
हर Google Apps Script प्रोजेक्ट, किसी Google Cloud प्रोजेक्ट से जुड़ा होता है. आपकी स्क्रिप्ट, Google Apps Script की ओर से अपने-आप बनाए गए डिफ़ॉल्ट प्रोजेक्ट का इस्तेमाल कर सकती है. अगर आपको कस्टम Google Cloud प्रोजेक्ट का इस्तेमाल करना है, तो किसी दूसरे स्टैंडर्ड Cloud प्रोजेक्ट पर स्विच करना लेख पढ़ें. Google Cloud प्रोजेक्ट सेट करने के बाद, बाईं ओर मौजूद एडिटर को चुनें. इससे आपको कोड एडिटर पर वापस जाने में मदद मिलेगी.
स्क्रिप्ट में कोड जोड़ना
यहां दिए गए कोड सैंपल में, eventType
की अलग-अलग वैल्यू के साथ इवेंट बनाने, पढ़ने, और उनकी सूची बनाने का तरीका बताया गया है.
यहां दिए गए कोड को कोड एडिटर में चिपकाएं.
const CALENDAR_ID = 'CALENDAR_ID' || 'primary'; /** Lists default events. */ function listDefaultEvents() { listEvents('default'); } /** Lists birthday events. */ function listBirthdays() { listEvents('birthday'); } /** Lists events from Gmail. */ function listEventsFromGmail() { listEvents('fromGmail'); } /** * Lists events with the given event type. If no type is specified, lists all events. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/list */ function listEvents(eventType = undefined) { // Query parameters for the list request. const optionalArgs = { eventTypes: eventType ? [eventType] : undefined, singleEvents: true, timeMax: '2024-07-30T00:00:00+01:00', timeMin: '2024-07-29T00:00:00+01:00', } try { var response = Calendar.Events.list(CALENDAR_ID, optionalArgs); response.items.forEach(event => console.log(event)); } catch (exception) { console.log(exception.message); } } /** * Reads the event with the given eventId. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/get */ function readEvent() { try { var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID'); console.log(response); } catch (exception) { console.log(exception.message); } } /** Creates a default event. */ function createDefaultEvent() { const event = { start: { dateTime: '2024-07-30T10:30:00+01:00'}, end: { dateTime: '2024-07-30T12:30:00+01:00'}, description: 'Created from Apps Script.', eventType: 'default', summary: 'Sample event', } createEvent(event); } /** Creates a birthday event. */ function createBirthday() { const event = { start: { date: '2024-01-29' }, end: { date: '2024-01-30' }, eventType: 'birthday', recurrence: ["RRULE:FREQ=YEARLY"], summary: "My friend's birthday", transparency: "transparent", visibility: "private", } createEvent(event); } /** * Creates a Calendar event. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/insert */ function createEvent(event) { try { var response = Calendar.Events.insert(event, CALENDAR_ID); console.log(response); } catch (exception) { console.log(exception.message); } }
इनकी जगह ये डालें:
CALENDAR_ID
: उस कैलेंडर का ईमेल पता जिस पर इवेंट बनाने और इवेंट की जानकारी पाने हैं. इस कॉन्स्टेंट को शुरुआत में'primary'
पर सेट किया जाता है. यह साइन इन किए गए उपयोगकर्ता के प्राइमरी कैलेंडर को ऐक्सेस करने के लिए इस्तेमाल किया जाने वाला कीवर्ड है. इस वैल्यू को बदलने से, आपको उन अन्य उपयोगकर्ताओं के कैलेंडर पर इवेंट पढ़ने की अनुमति मिलती है जिनके कैलेंडर का ऐक्सेस आपके पास है.EVENT_ID
: इवेंट का आईडी. इवेंट आईडी वापस पाने के लिए, Events:list को कॉल किया जा सकता है.
कोड सैंपल को चलाएं
- कोड एडिटर के ऊपर मौजूद ड्रॉप-डाउन मेन्यू से, चलाने के लिए फ़ंक्शन चुनें. इसके बाद, चलाएं पर क्लिक करें.
- पहली बार इस सुविधा का इस्तेमाल करने पर, आपसे ऐक्सेस करने की अनुमति मांगी जाती है. Apps Script को अपने कैलेंडर का ऐक्सेस देने के लिए, इसकी समीक्षा करें.
- विंडो में सबसे नीचे दिखने वाले Execution Log में, स्क्रिप्ट के नतीजे देखे जा सकते हैं.