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 ऐड-ऑन में ज़्यादा सुविधाएं जोड़ने के लिए, यहां जाएं: नीचे दी गई गाइड देखें: