יצירת תוספים ל-Google Workspace ב-Cloud Functions באמצעות סביבת זמן הריצה של Node.js.
מטרות
- מגדירים את הסביבה.
- יוצרים פונקציה ב-Cloud Functions ופורסים אותה.
- יוצרים את התוסף ופורסים אותו.
- מתקינים את התוסף.
דרישות מוקדמות
- פרויקט ב-Google Cloud.
- הקפידו להפעיל את החיוב בפרויקט שלכם ב-Cloud. איך בודקים את סטטוס החיוב של הפרויקטים
- Cloud SDK שמוגדר עם פרויקט Cloud.
הגדרת הסביבה
פותחים את פרויקט Cloud במסוף Google Cloud
- נכנסים לדף Select a project במסוף Google Cloud.
- בוחרים את הפרויקט ב-Google Cloud שבו רוצים להשתמש. לחלופין, לוחצים על Create project (יצירת פרויקט) ופועלים לפי ההוראות במסך. אם יוצרים פרויקט ב-Google Cloud, יכול להיות שתצטרכו להפעיל את החיוב בפרויקט.
הגדרת מסך ההסכמה של OAuth
כדי להשתמש בתוספים של Google Workspace, צריך להגדיר מסך הסכמה. הגדרת מסך ההסכמה ל-OAuth של התוסף קובעת מה Google תציג למשתמשים.
- במסוף Google Cloud, נכנסים לתפריט > APIs & Services > OAuth consent screen.
- בקטע User type בוחרים באפשרות Internal ולוחצים על Create.
- ממלאים את טופס הרישום של האפליקציה ולוחצים על שמירה והמשך.
בשלב הזה, אפשר לדלג על הוספת היקפי הרשאה וללחוץ על Save and Continue (שמירה והמשך). בעתיד, כשיוצרים אפליקציה לשימוש מחוץ לארגון ב-Google Workspace, צריך לשנות את סוג המשתמש ל-חיצוני, ואז להוסיף את היקפי ההרשאה הנדרשים לאפליקציה.
- בודקים את סיכום רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם הרשמת האפליקציה נראית תקינה, לוחצים על Back to Dashboard.
יצירה ופריסה של פונקציה ב-Cloud Functions
במסוף מקומי, מפעילים את Cloud Functions, Cloud Build ו-Google Workspace add-ons API:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
בתיקייה ריקה, יוצרים את הקובץ
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" } } ] } ] } } ] } }; }
פורסים את הפונקציה:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
אם מתבקשים, מציינים שאתם לא מאפשרים הפעלות לא מאומתות של הפונקציה. יכול להיות שיחלפו כמה דקות עד שהפונקציה תוצג.
יצירת פריסה של תוסף
מוצאים את כתובת האימייל של חשבון השירות של התוסף:
gcloud workspace-add-ons get-authorization
מקצים לחשבון השירות את התפקיד
cloudfunctions.invoker
:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
מקבלים את כתובת ה-URL של הפונקציה שנפרסה. כדי לקבל את כתובת ה-URL, מריצים את הפקודה הבאה ומחפשים את השדה
url
בקטעhttpsTrigger
:gcloud functions describe loadHomePage
יוצרים את הקובץ
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": {} } }
יוצרים את הפריסה:
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 שבו השתמשתם במדריך למתחילים. מזהה פרויקט Cloud מופיע במסוף Google Cloud בדף Dashboard.
השלבים הבאים
כדי להוסיף פונקציונליות לתוסף שלכם ל-Google Workspace, תוכלו להיעזר במדריכים הבאים: