Node.js की मदद से Google Workspace ऐड-ऑन बनाना

Node.js रनटाइम का इस्तेमाल करके, Cloud Functions में Google Workspace ऐड-ऑन बनाएं.

मकसद

  • अपना एनवायरमेंट सेट अप करें.
  • Cloud फ़ंक्शन बनाएं और डिप्लॉय करें.
  • ऐड-ऑन बनाएं और डिप्लॉय करें.
  • ऐड-ऑन इंस्टॉल करें.

ज़रूरी शर्तें

अपना एनवायरमेंट सेट अप करें

Google Cloud Console में अपना Cloud प्रोजेक्ट खोलें

  1. Google Cloud Console में, प्रोजेक्ट चुनें पेज पर जाएं.

    कोई Cloud प्रोजेक्ट चुनना

  2. वह Google Cloud प्रोजेक्ट चुनें जिसका इस्तेमाल करना है. इसके अलावा, प्रोजेक्ट बनाएं पर क्लिक करके, स्क्रीन पर दिए गए निर्देशों का पालन करें. अगर आपने कोई Google Cloud प्रोजेक्ट बनाया है, तो आपको प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करनी पड़ सकती है.

उस स्क्रीन को कॉन्फ़िगर करें जहां OAuth के लिए सहमति दी जाती है

Google Workspace ऐड-ऑन के लिए, उस स्क्रीन को कॉन्फ़िगर करना ज़रूरी है जिसके लिए सहमति दी जाती है. ऐड-ऑन की OAuth सहमति स्क्रीन को कॉन्फ़िगर करने से यह तय होता है कि Google, उपयोगकर्ताओं को क्या दिखाता है.

  1. Google Cloud Console में, मेन्यू > एपीआई और सेवाएं > OAuth की सहमति वाली स्क्रीन पर जाएं.

    उस स्क्रीन पर जाएं जहां OAuth के लिए सहमति दी जाती है

  2. उपयोगकर्ता टाइप के लिए इंटरनल चुनें. इसके बाद, बनाएं पर क्लिक करें.
  3. ऐप्लिकेशन रजिस्ट्रेशन फ़ॉर्म भरें. इसके बाद, सेव करें और जारी रखें पर क्लिक करें.
  4. फ़िलहाल, दायरों को जोड़ना स्किप किया जा सकता है. इसके बाद, सेव करें और जारी रखें पर क्लिक करें. आने वाले समय में, जब आप अपने Google Workspace संगठन से बाहर इस्तेमाल करने के लिए कोई ऐप्लिकेशन बनाते हैं, तो आपको उपयोगकर्ता टाइप को बदलकर एक्सटर्नल करना होगा. इसके बाद, अपने ऐप्लिकेशन के लिए ज़रूरी अनुमति के दायरे जोड़ना होगा.

  5. अपने ऐप्लिकेशन रजिस्ट्रेशन की खास जानकारी देखें. बदलाव करने के लिए, बदलाव करें पर क्लिक करें. अगर ऐप्लिकेशन रजिस्ट्रेशन ठीक लगता है, तो डैशबोर्ड पर वापस जाएं पर क्लिक करें.

Cloud फ़ंक्शन बनाना और डिप्लॉय करना

  1. किसी लोकल टर्मिनल में, Cloud Functions, Cloud Build, और Google Workspace ऐड-ऑन एपीआई चालू करें:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. किसी खाली डायरेक्ट्री में, इस सैंपल कोड के साथ function.js फ़ाइल बनाएं:

    /**
     * Cloud Function that loads the homepage for a
     * Google Workspace Add-on.
     *
     * @param {Object} req Request sent from Google
     * @param {Object} res Response to send back
     */
    exports.loadHomePage = function addonsHomePage (req, res) {
      res.send(createAction());
    };
    
    /** Creates a card with two widgets. */
    function createAction() {
      return {
        "action": {
          "navigations": [
            {
              "pushCard": {
                "header": {
                  "title": "Cats!"
                },
                "sections": [
                  {
                    "widgets": [
                      {
                        "textParagraph": {
                          "text": "Your random cat:"
                        }
                      },
                      {
                        "image": {
                          "imageUrl": "https://cataas.com/cat"
                         }
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      };
    }
    
  3. फ़ंक्शन को डिप्लॉय करें:

    gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
    

    अगर कहा जाए, तो बताएं कि फ़ंक्शन को बिना पुष्टि किए शुरू करने की अनुमति नहीं दी जाती है. फ़ंक्शन को डिप्लॉय होने में कुछ मिनट लग सकते हैं.

ऐड-ऑन डिप्लॉयमेंट बनाना

  1. ऐड-ऑन के लिए सेवा खाते का ईमेल पता ढूंढें:

    gcloud workspace-add-ons get-authorization
    
  2. सेवा खाते को cloudfunctions.invoker की भूमिका दें:

    gcloud functions add-iam-policy-binding loadHomePage \
        --role roles/cloudfunctions.invoker \
        --member serviceAccount:SERVICE_ACCOUNT_EMAIL
    
  3. डिप्लॉय किए गए फ़ंक्शन का यूआरएल पाएं. यूआरएल पाने के लिए, नीचे दिए गए कमांड को चलाएं और httpsTrigger सेक्शन में url फ़ील्ड देखें:

    gcloud functions describe loadHomePage
    
  4. नीचे दिए गए सैंपल कोड के साथ फ़ाइल deployment.json बनाएं. URL की जगह पिछले चरण में दिए गए डिप्लॉय किए गए फ़ंक्शन का यूआरएल डालें.

    {
      "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"],
      "addOns": {
        "common": {
          "name": "My HTTP Add-on",
          "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png",
          "homepageTrigger": {
            "runFunction": "URL"
          }
        },
        "gmail": {},
        "drive": {},
        "calendar": {},
        "docs": {},
        "sheets": {},
        "slides": {}
      }
    }
    
  5. डिप्लॉयमेंट की सूची बनाएं:

    gcloud workspace-add-ons deployments create quickstart \
        --deployment-file=deployment.json
    

ऐड-ऑन इंस्टॉल करें

  1. डिप्लॉयमेंट को डेवलपमेंट मोड में इंस्टॉल करें:

    gcloud workspace-add-ons deployments install quickstart
    
  2. ऐड-ऑन देखने के लिए, Gmail खोलें या फिर से लोड करें. दाईं ओर मौजूद टूलबार में, बीकर वाला आइकॉन ढूंढें.

  3. ऐड-ऑन खोलने के लिए, आइकॉन पर क्लिक करें. अगर कहा जाए, तो ऐड-ऑन को अनुमति दें.

ज़रूरी नहीं: स्टोरेज खाली करें

अपने खाते पर शुल्क लगाने से बचने के लिए, अपने बनाए हुए संसाधनों को मिटा दें:

  1. अपने Google खाते से ऐड-ऑन को अनइंस्टॉल करें:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. इस क्विकस्टार्ट में इस्तेमाल किए जाने वाले संसाधनों के शुल्क से बचने के लिए, क्लाउड प्रोजेक्ट मिटाएं:

    gcloud projects delete PROJECT_ID
    

    PROJECT_ID की जगह उस Cloud प्रोजेक्ट का आईडी डालें जिसका इस्तेमाल आपने क्विकस्टार्ट के लिए किया है. Cloud प्रोजेक्ट आईडी, डैशबोर्ड पेज पर Google Cloud Console में मिल सकता है.

अगले चरण

अपने Google Workspace ऐड-ऑन में ज़्यादा सुविधाएं जोड़ने के लिए, ये गाइड पढ़ें: