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. इस क्विकस्टार्ट में इस्तेमाल किए गए संसाधनों के लिए शुल्क से बचने के लिए, Cloud प्रोजेक्ट मिटाएं:

    gcloud projects delete PROJECT_ID
    

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

अगले चरण

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