Node.js रनटाइम का इस्तेमाल करके, Cloud Functions में Google Workspace के ऐड-ऑन बनाएं.
मकसद
- अपना एनवायरमेंट सेट अप करें.
- Cloud फ़ंक्शन बनाना और उसे डिप्लॉय करना.
- ऐड-ऑन बनाएं और उसे डिप्लॉय करें.
- ऐड-ऑन इंस्टॉल करें.
ज़रूरी शर्तें
पक्का करें कि आपने अपने Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू की हो. अपने प्रोजेक्ट के बिलिंग स्टेटस की पुष्टि करने का तरीका जानें.
Cloud SDK को Cloud प्रोजेक्ट के साथ कॉन्फ़िगर किया गया हो.
अपना एनवायरमेंट सेट अप करने का तरीका
Google Cloud Console में अपना Cloud प्रोजेक्ट खोलें
- Google Cloud Console में, कोई प्रोजेक्ट चुनें पेज पर जाएं.
- वह Google Cloud प्रोजेक्ट चुनें जिसका इस्तेमाल करना है. इसके अलावा, प्रोजेक्ट बनाएं पर क्लिक करें और स्क्रीन पर दिए गए निर्देशों का पालन करें. Google Cloud प्रोजेक्ट बनाने पर, आपको उस प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करनी पड़ सकती है.
OAuth की सहमति वाली स्क्रीन को कॉन्फ़िगर करना
Google Workspace के ऐड-ऑन के लिए, सहमति वाली स्क्रीन का कॉन्फ़िगरेशन ज़रूरी है. ऐड-ऑन की OAuth सहमति स्क्रीन को कॉन्फ़िगर करने से यह तय होता है कि Google, उपयोगकर्ताओं को क्या दिखाएगा.
- Google Cloud console में, मेन्यू > > ब्रैंडिंग पर जाएं.
- अगर आपने पहले से ही को कॉन्फ़िगर कर लिया है, तो ब्रैंडिंग, ऑडियंस, और डेटा ऐक्सेस में जाकर, OAuth सहमति स्क्रीन की ये सेटिंग कॉन्फ़िगर की जा सकती हैं. अगर आपको अभी तक कॉन्फ़िगर नहीं किया गया मैसेज दिखता है, तो शुरू करें पर क्लिक करें:
- ऐप्लिकेशन की जानकारी में जाकर, ऐप्लिकेशन का नाम में ऐप्लिकेशन का नाम डालें.
- उपयोगकर्ता सहायता ईमेल में, सहायता पाने के लिए कोई ईमेल पता चुनें. अगर उपयोगकर्ताओं को अपनी सहमति के बारे में कोई सवाल पूछना है, तो वे इस पते पर आपसे संपर्क कर सकते हैं.
- आगे बढ़ें पर क्लिक करें.
- ऑडियंस सेक्शन में जाकर, इंटरनल चुनें.
- आगे बढ़ें पर क्लिक करें.
- संपर्क जानकारी में जाकर, वह ईमेल पता डालें जिस पर आपको अपने प्रोजेक्ट में हुए किसी भी बदलाव के बारे में सूचना दी जा सके.
- आगे बढ़ें पर क्लिक करें.
- पूरा करें में जाकर, Google API सेवाओं के उपयोगकर्ता के डेटा की नीति पढ़ें. अगर आप सहमत हैं, तो मैं Google API सेवाओं के उपयोगकर्ता के डेटा की नीति से सहमत हूं को चुनें.
- जारी रखें पर क्लिक करें.
- बनाएं पर क्लिक करें.
- फ़िलहाल, स्कोप जोड़ने की प्रोसेस को छोड़ा जा सकता है. आने वाले समय में, जब आप अपने Google Workspace संगठन के बाहर इस्तेमाल करने के लिए कोई ऐप्लिकेशन बनाएं, तो आपको उपयोगकर्ता टाइप को बाहरी पर सेट करना होगा. इसके बाद, अनुमति के वे स्कोप जोड़ें जो आपके ऐप्लिकेशन के लिए ज़रूरी हैं. ज़्यादा जानने के लिए, OAuth की सहमति कॉन्फ़िगर करने से जुड़ी पूरी गाइड देखें.
Cloud फ़ंक्शन बनाना और डिप्लॉय करना
Google Cloud Console में, Cloud Shell चालू करें
पर क्लिक करें.
Cloud Shell टर्मिनल खुल जाता है और Google Cloud Console के सबसे नीचे मौजूद पैनल में एक सेशन शुरू हो जाता है.
Cloud Shell को प्रोवाइड करने और उससे कनेक्ट करने के लिए, अनुमति दें पर क्लिक करें.
Cloud Shell टर्मिनल में, Cloud Functions API, Cloud Build API, Google Workspace के ऐड-ऑन एपीआई, और Compute Engine API को चालू करें:
gcloud services enable cloudfunctions.googleapis.com \ cloudbuild.googleapis.com \ gsuiteaddons.googleapis.com \ compute.googleapis.com
Cloud Shell विंडो के टूलबार में,
एडिटर खोलें पर क्लिक करके, Cloud Shell एडिटर लॉन्च करें.
इसमें पहले से मौजूद कोड एडिटर की मदद से, उसी एनवायरमेंट में फ़ाइलें देखी और उनमें बदलाव किए जा सकते हैं जहां प्रोजेक्ट बनाए और डिप्लॉय किए जाते हैं.
खाली डायरेक्ट्री में, नीचे दिए गए सैंपल कोड की मदद से
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" } } ] } ] } } ] } }; }
उसी डायरेक्ट्री में, यहां दिए गए सैंपल कोड की मदद से
package.json
फ़ाइल बनाएं:{ "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
टर्मिनल खोलें पर क्लिक करके, Cloud Shell टर्मिनल पर वापस जाएं.
Compute Engine के डिफ़ॉल्ट सेवा खाते में
Cloud Build Service Account
भूमिका (roles/cloudbuild.builds.builder
) जोड़ें.सबसे पहले, सेवा खाते की अनुमति सेट अप करें:
export PROJECT_ID=$(gcloud config get project) export SERVICE_ACCOUNT_NAME=$(gcloud compute project-info describe \ --format="value(defaultServiceAccount)")
इसके बाद, सेवा खाते को वह अनुमति दें जो मौजूद नहीं है:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \ --role="roles/cloudbuild.builds.builder"
फ़ंक्शन को डिप्लॉय करने के लिए, यह कमांड चलाएं:
gcloud functions deploy loadHomePage --runtime nodejs22 --trigger-http
अगर आपसे कहा जाए, तो बताएं कि आपने फ़ंक्शन को बिना पुष्टि के इस्तेमाल करने की अनुमति नहीं दी है. फ़ंक्शन को डिप्लॉय होने में कुछ मिनट लग सकते हैं.
ऐड-ऑन डिप्लॉयमेंट बनाना
ऐड-ऑन के लिए सेवा खाते का ईमेल पता ढूंढें:
gcloud workspace-add-ons get-authorization
सेवा खाते को
cloudfunctions.invoker
की भूमिका दें. SERVICE_ACCOUNT_EMAIL को पिछले चरण केserviceAccountEmail
फ़ील्ड से बदलें.gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
डिप्लॉय किए गए फ़ंक्शन का यूआरएल पाएं. यूआरएल पाने के लिए, यह कमांड चलाएं और
httpsTrigger
सेक्शन मेंurl
फ़ील्ड ढूंढें:gcloud functions describe loadHomePage
एडिटर खोलें पर क्लिक करके, Cloud Shell एडिटर पर वापस जाएं.
package.json
की उसी डायरेक्ट्री में, यहां दिए गए सैंपल कोड की मदद सेdeployment.json
फ़ाइल बनाएं. URL को पिछले चरण में डिप्लॉय किए गए फ़ंक्शन के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": {}, "httpOptions": { "granularOauthPermissionSupport": "OPT_IN" } } }
डिप्लॉयमेंट बनाने के लिए, Cloud Shell टर्मिनल पर वापस जाएं:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
ऐड-ऑन इंस्टॉल करने का तरीका
डेवलपमेंट मोड में डिप्लॉयमेंट इंस्टॉल करें:
gcloud workspace-add-ons deployments install quickstart
ऐड-ऑन देखने के लिए, Gmail खोलें या फिर से लोड करें. दाईं ओर मौजूद टूलबार में, बीकर आइकॉन ढूंढें.
ऐड-ऑन खोलने के लिए, आइकॉन पर क्लिक करें. अगर आपसे कहा जाए, तो ऐड-ऑन को अनुमति दें.
ज़रूरी नहीं: क्लीन अप
अपने खाते से शुल्क लगने से बचने के लिए, अपने बनाए गए संसाधन मिटाएं:
अपने Google खाते से ऐड-ऑन को अनइंस्टॉल करें:
gcloud workspace-add-ons deployments uninstall quickstart
इस क्विकस्टार्ट में इस्तेमाल किए गए संसाधनों के लिए शुल्क से बचने के लिए, Cloud प्रोजेक्ट मिटाएं:
gcloud projects delete PROJECT_ID
PROJECT_ID की जगह उस Cloud प्रोजेक्ट का आईडी डालें जिसका इस्तेमाल आपने शुरुआती निर्देशों के लिए किया था. Google Cloud Console में, डैशबोर्ड पेज पर Cloud प्रोजेक्ट आईडी देखा जा सकता है.
मिलते-जुलते विषय
अपने Google Workspace ऐड-ऑन में ज़्यादा सुविधाएं जोड़ने के लिए, यहां दिया गया लेख पढ़ें:
- एचटीटीपी एंडपॉइंट का इस्तेमाल करके, Google Workspace का ऐड-ऑन बनाना
- कोडलैब: Node.js और Cloud Run की मदद से, Google Workspace ऐड-ऑन बनाना
- स्मार्ट चिप की मदद से लिंक की झलक देखना