Google Chat ऐप्लिकेशन की मदद से छुट्टी पर जाना

1. परिचय

Google Chat ऐप्लिकेशन, सेवाओं और संसाधनों को सीधे Chat में उपलब्ध कराते हैं. इससे उपयोगकर्ता, बातचीत छोड़े बिना ही जानकारी पा सकते हैं और कार्रवाई कर सकते हैं.

इस कोडलैब में, आपको "Attendance Chat app" नाम का Chat ऐप्लिकेशन बनाने का तरीका बताया गया है. यह ऐप्लिकेशन, Gmail में छुट्टी पर होने की जानकारी देने वाले ईमेल भेजने की सुविधा सेट करता है और Google Calendar में मीटिंग शेड्यूल करता है. Google Apps Script में Attendance Chat ऐप्लिकेशन बनाकर, Drive, Gmail, Calendar, Docs, Sheets जैसी अन्य Google सेवाओं को आसानी से ऐक्सेस किया जा सकता है.

आपको क्या सीखने को मिलेगा

  • Chat में होने वाले इवेंट में हैंडलर जोड़ने का तरीका
  • Chat से भेजे गए इवेंट ऑब्जेक्ट को पार्स करने का तरीका
  • कार्ड के फ़ॉर्मैट में जवाबों के साथ Chat को वापस जवाब देने का तरीका
  • कार्ड में मौजूद बटन पर क्लिक करने के लिए, कस्टम कार्रवाइयां तय करने और उन पर प्रतिक्रिया देने का तरीका

आपको किन चीज़ों की ज़रूरत होगी

  • इंटरनेट और वेब ब्राउज़र का ऐक्सेस.
  • Google Chat को ऐक्सेस करने की सुविधा वाला Google Workspace खाता.
  • JavaScript की बुनियादी जानकारी—Google Apps Script सिर्फ़ JavaScript के साथ काम करता है.

2. सैंपल कोड पाना

इस सैंपल में हर चरण का कोड देखने के लिए, ZIP फ़ाइल डाउनलोड करें या GitHub रिपॉज़िटरी को क्लोन करें.

solutions/attendance-chat-app में मौजूद step-NN फ़ोल्डर में, इस कोडलैब के हर चरण की आखिरी स्थिति शामिल होती है. ये सिर्फ़ रेफ़रंस के लिए हैं.

कोड डाउनलोड करना

इस कोडलैब के लिए कोड डाउनलोड करने के लिए, इस बटन पर क्लिक करें:

डाउनलोड की गई ZIP फ़ाइल को अनपैक करें. इससे एक रूट फ़ोल्डर (apps-script-samples) अनपैक होता है. इसमें solutions/attendance-chat-app के तहत, इस कोडलैब के हर चरण के लिए एक फ़ोल्डर होता है.

GitHub रिपॉज़िटरी का क्लोन बनाना

इस कोडलैब के लिए, GitHub रिपॉज़िटरी को क्लोन करने के लिए, यह कमांड चलाएं:

git clone https://github.com/googleworkspace/apps-script-samples

3. Google Chat इवेंट के लिए हैंडलर बनाना

Apps Script प्रोजेक्ट बनाना

Apps Script प्रोजेक्ट बनाने के लिए, यह तरीका अपनाएं:

  1. script.new पर जाएं.
  2. बिना टाइटल वाला प्रोजेक्ट पर क्लिक करें.
  3. स्क्रिप्ट का नाम बदलकर Attendance Chat app करें. इसके बाद, नाम बदलें पर क्लिक करें.

Google Chat में इवेंट

Apps Script के ज़रिए Chat के साथ होने वाले ज़्यादातर इंटरैक्शन, इवेंट पर आधारित होते हैं. उपयोगकर्ता, Chat ऐप्लिकेशन, और Chat के बीच इंटरैक्शन आम तौर पर इस क्रम में होता है:

  1. जब कोई उपयोगकर्ता कोई कार्रवाई करता है. जैसे, किसी स्पेस में Chat ऐप्लिकेशन जोड़ना, Chat ऐप्लिकेशन के साथ डायरेक्ट मैसेज (डीएम) शुरू करना या किसी स्पेस से Chat ऐप्लिकेशन हटाना.
  2. इस कार्रवाई से, Chat ऐप्लिकेशन में एक इवेंट ट्रिगर होता है.
  3. Chat, Chat ऐप्लिकेशन की स्क्रिप्ट में तय किए गए इवेंट हैंडलर को कॉल करता है.

चैट से चार इवेंट ट्रिगर होते हैं. आपका ऐप्लिकेशन इन इवेंट को सुन सकता है:

  • ADDED_TO_SPACE: यह इवेंट तब होता है, जब कोई व्यक्ति किसी स्पेस या डायरेक्ट मैसेज (डीएम) में Chat ऐप्लिकेशन जोड़ता है. Apps Script में, इस इवेंट को मैनेज करने के लिए onAddToSpace() फ़ंक्शन तय किया जाता है.
  • REMOVED_FROM_SPACE: यह इवेंट तब होता है, जब कोई उपयोगकर्ता किसी स्पेस या डीएम से Chat ऐप्लिकेशन को हटाता है. इस इवेंट से, Chat में कोई जवाब पोस्ट नहीं किया जाता. Apps Script में, इस इवेंट को मैनेज करने के लिए onRemoveFromSpace() फ़ंक्शन तय किया जाता है.
  • MESSAGE: यह इवेंट तब होता है, जब कोई उपयोगकर्ता Chat ऐप्लिकेशन पर मैसेज भेजता है. ऐसा सीधे तौर पर DM में या स्पेस में @नाम के तौर पर किया जाता है. Apps Script में, इस इवेंट का जवाब देने के लिए onMessage() फ़ंक्शन तय किया जाता है.
  • CARD_CLICKED: यह इवेंट तब होता है, जब उपयोगकर्ता किसी ऐसे बटन पर क्लिक करता है जिसे कस्टम ऐक्शन असाइन किया गया है. Apps Script में, इस इवेंट का जवाब देने के लिए onCardClick() फ़ंक्शन तय किया जाता है.

Code.gs फ़ाइल के कॉन्टेंट को इस कोड से बदलें. यह कोड, ADDED_TO_SPACE और REMOVE_FROM_SPACE इवेंट के लिए हैंडलर तय करता है. (इस कोडलैब में, MESSAGE और CARD_CLICKED इवेंट के लिए हैंडलर बाद में जोड़े जाएंगे.)

Code.gs

/**
 * Responds to an ADDED_TO_SPACE event in Google Chat.
 * @param {object} event the event object from Google Chat
 * @return {object} JSON-formatted response
 * @see https://developers.google.com/workspace/chat/receive-respond-interactions
 */
function onAddToSpace(event) {
  console.info(event);
  var message = 'Thank you for adding me to ';
  if (event.space.type === 'DM') {
    message += 'a DM, ' + event.user.displayName + '!';
  } else {
    message += event.space.displayName;
  }
  return { text: message };
}

/**
 * Responds to a REMOVED_FROM_SPACE event in Google Chat.
 * @param {object} event the event object from Google Chat
 * @see https://developers.google.com/workspace/chat/receive-respond-interactions
 */
function onRemoveFromSpace(event) {
  console.info(event);
  console.log('Chat app removed from ', event.space.name);
}

4. Chat ऐप्लिकेशन को पब्लिश और टेस्ट करना

अपनी स्क्रिप्ट मेनिफ़ेस्ट फ़ाइल अपडेट करना

Chat में अपना ऐप्लिकेशन पब्लिश करने से पहले, आपको स्क्रिप्ट मेनिफ़ेस्ट अपडेट करना होगा.

  1. प्रोजेक्ट सेटिंग outline_settings_black_24dp.png पर क्लिक करें.
  2. मेनिफ़ेस्ट फ़ाइल "appsscript.json" एडिटर में दिखाएं चेकबॉक्स को चुनें.
  3. एडिटर outline_code_black_24dp.png पर क्लिक करें.
  4. appsscript.json फ़ाइल पर क्लिक करें.
  5. अपनी मेनिफ़ेस्ट फ़ाइल में "chat": {} लाइन जोड़ें.

आपकी मेनिफ़ेस्ट फ़ाइल, यहाँ दिए गए उदाहरण जैसी होनी चाहिए.

appsscript.json

{
  "timeZone": "America/Los_Angeles",
  "dependencies": {
  },
  "chat": {}
}

Google Cloud प्रोजेक्ट बनाना

Chat ऐप्लिकेशन को चलाने और उसकी जांच करने से पहले, आपको एक Google Cloud प्रोजेक्ट बनाना होगा. साथ ही, Chat API को चालू और कॉन्फ़िगर करना होगा. इसके अलावा, आपको अपने Google Workspace संगठन के लिए Chat ऐप्लिकेशन पब्लिश करना होगा.

  1. Google Cloud Console में, मेन्यू f5fbd278915eb7aa.png > IAM और एडमिन > प्रोजेक्ट बनाएं पर जाएं.

  2. प्रोजेक्ट का नाम के लिए, जानकारी देने वाला नाम डालें.
  3. अगर कहा जाए, तो संगठन और बिलिंग खाता चुनें.
  4. बनाएं पर क्लिक करें.
  5. प्रोजेक्ट बन जाने के बाद, पेज के सबसे ऊपर दाईं ओर एक सूचना दिखती है. प्रोजेक्ट खोलने के लिए, प्रोजेक्ट बनाएं: <प्रोजेक्ट का नाम> एंट्री पर क्लिक करें.
  6. मेन्यू f5fbd278915eb7aa.png > एपीआई और सेवाएं > क्रेडेंशियल पर क्लिक करें.
  7. OAuth के लिए सहमति वाली स्क्रीन पर क्लिक करें.
  8. ऐप्लिकेशन का नाम के लिए, Attendance Chat app डालें.
  9. अगर कहा जाए, तो उपयोगकर्ता सहायता के लिए ईमेल पता और डेवलपर की संपर्क जानकारी डालें.
  10. सेव करें और जारी रखें पर क्लिक करें.
  11. सेटिंग और यूटिलिटी 50fa7e30ed2d1b1c.png > प्रोजेक्ट सेटिंग पर क्लिक करें.
  12. प्रोजेक्ट नंबर कॉपी करें.
  13. App Script एडिटर में वापस जाकर, प्रोजेक्ट सेटिंग outline_settings_black_24dp.png पर क्लिक करें.
  14. Google Cloud Platform (GCP) प्रोजेक्ट में जाकर, प्रोजेक्ट बदलें पर क्लिक करें.
  15. GCP प्रोजेक्ट नंबर पर क्लिक करें और प्रोजेक्ट नंबर डालें.
  16. प्रोजेक्ट सेट करें पर क्लिक करें.

Chat में ऐप्लिकेशन पब्लिश करना

अपने Chat ऐप्लिकेशन को Google Chat पर पब्लिश करने के लिए, यह तरीका अपनाएं:

  1. Apps Script एडिटर में, तैनात करें > नई तैनाती पर क्लिक करें.
  2. टाइप चुनें के बगल में मौजूद, डिप्लॉयमेंट के टाइप चालू करें outline_settings_black_24dp.png पर क्लिक करें.
  3. ऐड-ऑन को चुनें और डिप्लॉय करें पर क्लिक करें.
  4. डिप्लॉयमेंट आईडी को कॉपी करें और हो गया पर क्लिक करें.
  5. Google Cloud Console में, मेन्यू f5fbd278915eb7aa.png > एपीआई और सेवाएं > लाइब्रेरी पर जाएं.

  6. Google Chat API खोजें. नतीजों की सूची में से एपीआई चुनें.
  7. Google Chat API पेज पर, चालू करें पर क्लिक करें.
  8. एपीआई चालू करने के बाद, कॉन्फ़िगरेशन पर क्लिक करें. क्रेडेंशियल बनाने के लिए कहने वाले किसी भी मैसेज को अनदेखा करें.
  9. कॉन्फ़िगरेशन पेज पर जाकर, यह तरीका अपनाएं:
  • इस Chat ऐप्लिकेशन को Workspace ऐड-ऑन के तौर पर बनाएं से सही का निशान हटाएं. इसके बाद, पुष्टि करने के लिए बंद करें पर क्लिक करें.
  • ऐप्लिकेशन का नाम के लिए, Attendance Chat app डालें.
  • अवतार का यूआरएल के लिए, https://goo.gl/kv2ENA डालें.
  • ब्यौरे के लिए, Apps Script कोडलैब Chat ऐप्लिकेशन डालें.
  • फ़ंक्शन में जाकर, एक-दूसरे को मैसेज पाने की सुविधा चुनें.
  • कनेक्शन की सेटिंग में जाकर, Apps Script प्रोजेक्ट चुनें. इसके बाद, टेक्स्ट बॉक्स में अपनी स्क्रिप्ट का डिप्लॉयमेंट आईडी चिपकाएं.
  • अनुमतियां में जाकर, आपके डोमेन के कुछ खास लोग और ग्रुप को चुनें. ड्रॉप-डाउन मेन्यू के नीचे मौजूद टेक्स्ट बॉक्स में, Google Workspace संगठन से जुड़ा अपना ईमेल पता डालें.
  • सेव करें पर क्लिक करें.

बदलावों को सेव करने के बाद, पुष्टि करें कि Google Chat API पेज पर ऐप्लिकेशन की स्थिति लाइव है – उपयोगकर्ताओं के लिए उपलब्ध है के तौर पर दिख रही हो.

Chat ऐप्लिकेशन की टेस्टिंग करना

Google Chat में अपने ऐप्लिकेशन को टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. Google Chat खोलें.
  2. चैट शुरू करें round_add_black_24dp.png > ऐप्लिकेशन ढूंढें पर क्लिक करके, Chat ऐप्लिकेशन को नया डायरेक्ट मैसेज भेजें.
  3. 'ऐप्लिकेशन ढूंढें' पेज पर, Attendance Chat ऐप्लिकेशन खोजें.
  4. हाज़िरी लेने वाला Chat ऐप्लिकेशन के बगल में मौजूद, जोड़ें > Chat पर क्लिक करें.

डायरेक्ट मैसेज थ्रेड खुलने पर, आपको Chat ऐप्लिकेशन से एक मैसेज दिखेगा. इसमें आपको डायरेक्ट मैसेज में शामिल करने के लिए धन्यवाद दिया गया होगा. यह मैसेज, यहां दी गई इमेज में दिखाया गया है.

22ea6d660d72eeca.png

5. कार्ड के फ़ॉर्मैट में जवाब देने की सुविधा तय करना

पिछले चरण में, आपके ऐप्लिकेशन ने Google Chat इवेंट के जवाब में एक सामान्य टेक्स्ट जवाब दिया था. इस चरण में, आपको अपने ऐप्लिकेशन को अपडेट करना होगा, ताकि वह कार्ड के साथ जवाब दे सके.

कार्ड से जुड़े जवाब

Google Chat में, जवाब देने के लिए कार्ड इस्तेमाल किए जा सकते हैं. कार्ड, विज़ुअल कंटेनर होते हैं. इनकी मदद से, यूज़र इंटरफ़ेस (यूआई) विजेट के सेट को एक साथ ग्रुप किया जा सकता है. कार्ड में हेडर, टेक्स्ट पैराग्राफ़, बटन के सेट, इमेज, और कुंजी/वैल्यू वाला टेक्स्ट दिख सकता है. आपका ऐप्लिकेशन, Google Chat को भेजे जाने वाले JSON रिस्पॉन्स में एक या एक से ज़्यादा कार्ड तय कर सकता है. इसके बाद, Google Chat आपके रिस्पॉन्स को उससे जुड़े यूज़र इंटरफ़ेस (यूआई) एलिमेंट में बदल देता है.

इस इमेज में, तीन सेक्शन वाला कार्ड रिस्पॉन्स दिखाया गया है. इसमें हेडर, कुंजी/वैल्यू वाला विजेट, इमेज विजेट, और टेक्स्ट बटन शामिल है.

b5a194ed8d745ba9.png

कार्ड के तौर पर जवाब देने के लिए, अपने Chat ऐप्लिकेशन की Code.gs फ़ाइल में यह कोड जोड़ें.

Code.gs

const DEFAULT_IMAGE_URL = 'https://goo.gl/bMqzYS';
const HEADER = {
  header: {
    title : 'Attendance Chat app',
    subtitle : 'Log your vacation time',
    imageUrl : DEFAULT_IMAGE_URL
  }
};

/**
 * Creates a card-formatted response.
 * @param {object} widgets the UI components to send
 * @return {object} JSON-formatted response
 */
function createCardResponse(widgets) {
  return {
    cards: [HEADER, {
      sections: [{
        widgets: widgets
      }]
    }]
  };
}

/**
 * Responds to a MESSAGE event triggered
 * in Google Chat.
 *
 * @param event the event object from Google Chat
 * @return JSON-formatted response
 */
function onMessage(event) {
  const userMessage = event.message.text;

  const widgets = [{
    "textParagraph": {
      "text": "You said: " + userMessage
    }
  }];

  return createCardResponse(widgets);
}

इस चरण में जोड़ा गया onMessage() फ़ंक्शन, उपयोगकर्ता के ओरिजनल मैसेज को पढ़ता है और जवाब को एक सामान्य TextParagragh विजेट के तौर पर बनाता है. इसके बाद, onMessage() फ़ंक्शन, createCardResponse() को कॉल करता है. इससे TextParagraph विजेट को एक कार्ड के सेक्शन में रखा जाता है. Chat ऐप्लिकेशन, कार्ड रिस्पॉन्स से बनाए गए JavaScript ऑब्जेक्ट को Google Chat पर वापस भेजता है.

Chat ऐप्लिकेशन की टेस्टिंग करना

इस ऐप्लिकेशन को आज़माने के लिए, Google Chat में जाकर, ऐप्लिकेशन के साथ हुई अपनी डायरेक्ट बातचीत पर वापस जाएं और कोई मैसेज टाइप करें.

e12417d9aa7e177c.png

ध्यान दें कि onMessage() इवेंट हैंडलर, Google Chat से मिले इवेंट ऑब्जेक्ट को पार्स करता है, ताकि उपयोगकर्ता के ओरिजनल मैसेज को निकाला जा सके. आपको इवेंट के बारे में अन्य तरह की जानकारी भी मिल सकती है. जैसे, इवेंट शुरू करने वाले उपयोगकर्ता का नाम, उसका ईमेल पता, इवेंट जिस स्पेस में हुआ उसका नाम वगैरह.

Google Chat से भेजे गए इवेंट ऑब्जेक्ट के स्ट्रक्चर के बारे में ज़्यादा जानने के लिए, इवेंट फ़ॉर्मैट का रेफ़रंस देखें.

6. कार्ड में मौजूद बटन पर क्लिक करने पर प्रतिक्रिया देना

पिछले चरण में, आपके Chat ऐप्लिकेशन ने किसी उपयोगकर्ता के मैसेज—एक MESSAGE इवेंट—का जवाब दिया था. जवाब में एक सामान्य कार्ड था, जिसमें TextParagragh विजेट शामिल था. इस चरण में, आपको बटन वाला जवाब बनाना होता है. इसमें हर बटन के लिए, कस्टम ऐक्शन तय किया जाता है.

इंटरैक्टिव कार्ड

कार्ड के जवाबों में दो तरह के बटन हो सकते हैं: टेक्स्ट बटन विजेट, जो सिर्फ़ टेक्स्ट वाले बटन दिखाते हैं; और ImageButton विजेट, जो बिना टेक्स्ट वाले सामान्य आइकॉन या इमेज के साथ बटन दिखाते हैं. TextButton और ImageButton, दोनों विजेट onClick के दो में से किसी एक व्यवहार के साथ काम करते हैं. यह व्यवहार, Google Chat को वापस भेजे गए JSON रिस्पॉन्स में तय किया जाता है: openLink या action. नाम से ही पता चलता है कि openLink, किसी लिंक को नए ब्राउज़र टैब में खोलता है.

action ऑब्जेक्ट, बटन के लिए कस्टम ऐक्शन तय करता है. कार्रवाई ऑब्जेक्ट में कई वैल्यू तय की जा सकती हैं. इनमें यूनीक actionMethodName और की / वैल्यू पैरामीटर पेयर का सेट शामिल है.

बटन के लिए action ऑब्जेक्ट तय करने से, इंटरैक्टिव कार्ड बनता है. जब उपयोगकर्ता मैसेज में मौजूद बटन पर क्लिक करता है, तो Google Chat एक CARD_CLICKED इवेंट जनरेट करता है. साथ ही, उस ऐप्लिकेशन को वापस अनुरोध भेजता है जिसने मूल मैसेज भेजा था. इसके बाद, ऐप्लिकेशन को Google Chat से मिले इवेंट को मैनेज करना होगा. साथ ही, स्पेस में जवाब भेजना होगा.

Code.gs में मौजूद onMessage() फ़ंक्शन को इस कोड से बदलें. इस कोड से, Google Chat पर भेजे गए कार्ड में दो बटन बनते हैं: Gmail में छुट्टी पर होने की जानकारी सेट करें और Calendar में दिन को ब्लॉक करें.

Code.gs

const REASON = {
  SICK: 'Out sick',
  OTHER: 'Out of office'
};
/**
 * Responds to a MESSAGE event triggered in Google Chat.
 * @param {object} event the event object from Google Chat
 * @return {object} JSON-formatted response
 */
function onMessage(event) {
  console.info(event);
  const reason = REASON.OTHER;
  const name = event.user.displayName;
  const userMessage = event.message.text;

  // If the user said that they were 'sick', adjust the image in the
  // header sent in response.
  if (userMessage.indexOf('sick') > -1) {
    // Hospital material icon
    HEADER.header.imageUrl = 'https://goo.gl/mnZ37b';
    reason = REASON.SICK;
  } else if (userMessage.indexOf('vacation') > -1) {
    // Spa material icon
    HEADER.header.imageUrl = 'https://goo.gl/EbgHuc';
  }

  const widgets = [{
    textParagraph: {
      text: 'Hello, ' + name + '.<br/>Are you taking time off today?'
    }
  }, {
    buttons: [{
      textButton: {
        text: 'Set vacation in Gmail',
        onClick: {
          action: {
            actionMethodName: 'turnOnAutoResponder',
            parameters: [{
              key: 'reason',
              value: reason
            }]
          }
        }
      }
    }, {
      textButton: {
        text: 'Block out day in Calendar',
        onClick: {
          action: {
            actionMethodName: 'blockOutCalendar',
            parameters: [{
              key: 'reason',
              value: reason
            }]
          }
        }
      }
    }]
  }];
  return createCardResponse(widgets);
}

CARD_CLICKED इवेंट को हैंडल करने के लिए, आपको अपने Chat ऐप्लिकेशन की स्क्रिप्ट में onCardClick() फ़ंक्शन जोड़ना होगा. onCardClick() फ़ंक्शन Code.gs को तय करने वाला यह कोड जोड़ें.

Code.gs

/**
 * Responds to a CARD_CLICKED event triggered in Google Chat.
 * @param {object} event the event object from Google Chat
 * @return {object} JSON-formatted response
 * @see https://developers.google.com/workspace/chat/receive-respond-interactions
 */
function onCardClick(event) {
  console.info(event);
  let message = '';
  const reason = event.action.parameters[0].value;
  if (event.action.actionMethodName == 'turnOnAutoResponder') {
    turnOnAutoResponder(reason);
    message = 'Turned on vacation settings.';
  } else if (event.action.actionMethodName == 'blockOutCalendar') {
    blockOutCalendar(reason);
    message = 'Blocked out your calendar for the day.';
  } else {
    message = "I'm sorry; I'm not sure which button you clicked.";
  }
  return { text: message };
}

उपयोगकर्ता के क्लिक करने पर, अब Chat ऐप्लिकेशन इनमें से कोई एक काम करता है: यह Gmail में उपयोगकर्ता के'छुट्टी पर होने के दौरान अपने-आप जवाब भेजने की सुविधा' को"अभी मैं छुट्टी पर हूं" मैसेज पर सेट करता है या यह उपयोगकर्ता के Calendar पर पूरे दिन की मीटिंग शेड्यूल करता है. इन टास्क को पूरा करने के लिए, ऐप्लिकेशन Gmail की ऐडवांस सेवा और Calendar सेवा को कॉल करता है.

Chat ऐप्लिकेशन को Gmail और Calendar के साथ इंटिग्रेट करने के लिए, अपनी स्क्रिप्ट में यह कोड जोड़ें.

Code.gs

const ONE_DAY_MILLIS = 24 * 60 * 60 * 1000;
/**
 * Turns on the user's vacation response for today in Gmail.
 * @param {string} reason the reason for vacation, either REASON.SICK or REASON.OTHER
 */
function turnOnAutoResponder(reason) {
  let currentTime = (new Date()).getTime();
  Gmail.Users.Settings.updateVacation({
    enableAutoReply: true,
    responseSubject: reason,
    responseBodyHtml: "I'm out of the office today; will be back on the next business day.<br><br><i>Created by Attendance Chat app!</i>",
    restrictToContacts: true,
    restrictToDomain: true,
    startTime: currentTime,
    endTime: currentTime + ONE_DAY_MILLIS
  }, 'me');
}

/**
 * Places an all-day meeting on the user's Calendar.
 * @param {string} reason the reason for vacation, either REASON.SICK or REASON.OTHER
 */
function blockOutCalendar(reason) {
  CalendarApp.createAllDayEvent(reason, new Date(), new Date(Date.now() + ONE_DAY_MILLIS));
}

आखिर में, आपको प्रोजेक्ट में Gmail की ऐडवांस सेवा चालू करनी होगी. Gmail API चालू करने के लिए, यह तरीका अपनाएं:

  1. Apps Script एडिटर में, सेवाएं के बगल में मौजूद, सेवा जोड़ें round_add_black_24dp.png पर क्लिक करें.
  2. Gmail API चुनें.
  3. इसके बाद, नीचे दिए गए Google Cloud Platform API डैशबोर्ड पर क्लिक करें. इससे Google Cloud Console खुल जाएगा.
  4. एपीआई और सेवाएं चालू करें पर क्लिक करें.
  5. Gmail API खोजें और Gmail API पर क्लिक करें.
  6. Gmail API पेज पर, चालू करें पर क्लिक करें.

Chat ऐप्लिकेशन की टेस्टिंग करना

Chat ऐप्लिकेशन के इस वर्शन को आज़माने के लिए, Google Chat में जाकर, वह डीएम खोलें जिसे आपने पिछले चरणों में शुरू किया था. इसके बाद, मैं छुट्टी पर जा रहा/रही हूं टाइप करें. ऐप्लिकेशन को नीचे दी गई इमेज की तरह कार्ड दिखाना चाहिए.

ध्यान दें: अगर आपसे ऐप्लिकेशन का ऐक्सेस देने के लिए कहा जाता है, तो आपको अपना मैसेज दोबारा टाइप करना पड़ सकता है.

c0e8d9d0b5d0cf8b.png

7. बधाई हो!

अब Chat ऐप्लिकेशन, उपयोगकर्ता के मैसेज का जवाब दे सकता है. साथ ही, Gmail में छुट्टी के दौरान अपने-आप जवाब भेजने की सुविधा सेट कर सकता है और Calendar में पूरे दिन का इवेंट जोड़ सकता है.

हमने क्या-क्या कवर किया है

  • Apps Script की मदद से, Google Chat ऐप्लिकेशन बनाया और पब्लिश किया हो
  • उपयोगकर्ता के मैसेज का जवाब सामान्य तरीके से दिया गया हो
  • Chat ऐप्लिकेशन के ज़रिए, उपयोगकर्ता की ओर से Google Workspace की अन्य सेवाओं के साथ इंटरैक्ट किया गया हो

ज़्यादा जानें