इवेंट किस तरह के हैं

इस पेज पर, eventType प्रॉपर्टी और Google Calendar API में उपलब्ध इवेंट टाइप के बारे में बताया गया है.

Google Calendar में, उपयोगकर्ता सामान्य इवेंट के साथ-साथ ऐसे इवेंट भी बना सकते हैं जिन्हें खास मकसद के लिए और कस्टम प्रॉपर्टी के साथ डिज़ाइन किया गया हो.

एपीआई में इवेंट टाइप, इन जगहों पर देखा जा सकता है:

  • सभी इवेंट, eventType के साथ दिखाए जाते हैं.
  • इवेंट रिसॉर्स बनाते या अपडेट करते समय, eventType को सेट करना ज़रूरी है. अगर इसे सेट नहीं किया गया है, तो 'default' टाइप का इस्तेमाल किया जाएगा.
  • खास तरह के इवेंट की सूची बनाने के लिए, Events:list कॉल में eventTypes का इस्तेमाल किया जा सकता है. अगर कोई टाइप नहीं दिया गया है, तो सभी तरह के इवेंट दिखाए जाएंगे.
  • 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, दोनों फ़ील्ड खाली होने चाहिए.
  • इसमें कोई दूसरी इवेंट प्रॉपर्टी नहीं हो सकती.

एपीआई की मदद से, update और patch तरीकों का इस्तेमाल करके, जन्मदिन के colorId, summary, और reminders इवेंट अपडेट किए जा सकते हैं. इवेंट की तारीख बदलने के लिए, 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 तरीके का इस्तेमाल करके इस तरह का इवेंट बनाने की अनुमति नहीं देता.

एपीआई की मदद से, update और patch तरीकों का इस्तेमाल करके, colorId, reminders, visibility, transparency, status, attendees, private, और shared एट्रिब्यूट की एक्सटेंड की गई प्रॉपर्टी अपडेट की जा सकती हैं.

एपीआई, Gmail से इवेंट पढ़ने के लिए get और list तरीकों के साथ काम करता है. सिर्फ़ Gmail से जनरेट किए गए इवेंट की सूची देखने के लिए, eventTypes को 'fromGmail' पर सेट किया जा सकता है. अगर कोई टाइप नहीं चुना गया है, तो 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 के संसाधनों और तरीकों की पूरी सूची के लिए, रेफ़रंस दस्तावेज़ देखें.

स्क्रिप्ट बनाना और सेट अप करना

  1. script.google.com/create पर जाकर स्क्रिप्ट बनाएं.
  2. बाईं ओर मौजूद पैनल में, सेवाएं के बगल में मौजूद, सेवा जोड़ें पर क्लिक करें .
  3. Google Calendar API चुनें और जोड़ें पर क्लिक करें.
  4. चालू करने के बाद, एपीआई बाएं पैनल में दिखता है. एपीआई में उपलब्ध तरीकों और क्लास की सूची, एडिटर में Calendar कीवर्ड का इस्तेमाल करके बनाई जा सकती है.

(ज़रूरी नहीं) Google Cloud प्रोजेक्ट को अपडेट करना

हर Google Apps Script प्रोजेक्ट, किसी Google Cloud प्रोजेक्ट से जुड़ा होता है. आपकी स्क्रिप्ट, उस डिफ़ॉल्ट प्रोजेक्ट का इस्तेमाल कर सकती है जिसे Google Apps Script अपने-आप बनाता है. अगर आपको कस्टम Google Cloud प्रोजेक्ट का इस्तेमाल करना है, तो किसी दूसरे स्टैंडर्ड Cloud प्रोजेक्ट पर स्विच करना लेख पढ़ें. Google Cloud प्रोजेक्ट सेट करने के बाद, कोड एडिटर पर वापस जाने के लिए, बाईं ओर एडिटर चुनें.

स्क्रिप्ट में कोड जोड़ना

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

  1. कोड एडिटर में यह कोड चिपकाएं.

    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/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/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/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 को कॉल किया जा सकता है.

कोड सैंपल चलाना

  1. कोड एडिटर के ऊपर, ड्रॉप-डाउन मेन्यू से वह फ़ंक्शन चुनें जिसे चलाना है. इसके बाद, चालू करें पर क्लिक करें.
  2. पहली बार इस्तेमाल करने पर, यह आपको ऐक्सेस की अनुमति देने के लिए कहता है. Apps Script को अपना कैलेंडर ऐक्सेस करने की अनुमति दें.
  3. स्क्रिप्ट के एक्ज़ीक्यूशन के नतीजों की जांच, विंडो के सबसे नीचे दिखने वाले एक्ज़ीक्यूशन लॉग में की जा सकती है.