יצירת תוספים ל-Google Workspace ב-Cloud Functions באמצעות סביבת זמן הריצה של Node.js.
מטרות
- הגדרת הסביבה.
- יצירה ופריסה של פונקציה של Cloud Functions.
- יוצרים את התוסף ופורסים אותו.
- מתקינים את התוסף.
דרישות מוקדמות
- פרויקט ב-Google Cloud.
- חשוב לוודא שהפעלת את החיוב בפרויקט שלך ב-Cloud. איך מאמתים את סטטוס החיוב של הפרויקטים?
- Cloud SDK שהוגדר עם הפרויקט ב-Cloud.
הגדרת הסביבה
פתיחת הפרויקט ב-Cloud במסוף Google Cloud
- נכנסים לדף Select a project במסוף Google Cloud.
- בוחרים את הפרויקט ב-Google Cloud שבו רוצים להשתמש. לחלופין, לוחצים על יצירת פרויקט ופועלים לפי ההוראות שבמסך. אם אתם יוצרים פרויקט ב-Google Cloud, ייתכן שאתם צריכים להפעיל את החיוב בפרויקט.
הגדרת מסך ההסכמה של OAuth
לתוספים ל-Google Workspace נדרשת הגדרה של מסך הסכמה. הגדרה של מסך ההסכמה ל-OAuth של התוסף מגדירה מה Google מציגה למשתמשים.
- במסוף Google Cloud, נכנסים לתפריט > APIs & Services > מסך ההסכמה של OAuth.
- בהגדרה סוג משתמש, בוחרים באפשרות פנימי ולוחצים על יצירה.
- ממלאים את טופס ההרשמה לאפליקציה ולוחצים על שמירה והמשך.
בינתיים, אפשר לדלג על הוספת היקפים וללחוץ על שמירה והמשך. בעתיד, כשיוצרים אפליקציה לשימוש מחוץ לארגון ב-Google Workspace, צריך לשנות את סוג המשתמש לחיצוני ואז להוסיף את היקפי ההרשאות שנדרשים לאפליקציה.
- לבדוק את הסיכום של רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם הרישום של האפליקציה נראה בסדר, לוחצים על Back to Dashboard (חזרה למרכז השליטה).
יצירה ופריסה של פונקציה של Cloud Functions
בטרמינל מקומי, מפעילים את Cloud Functions , Cloud Build ואת ממשק ה-API של תוספים ל-Google Workspace:
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, תוכלו להיעזר במדריכים הבאים: