מדריך למתחילים: יצירת תוסף Google Workspace

יצירת תוספים ל-Google Workspace ב-Cloud Functions באמצעות סביבת זמן הריצה של Node.js.

מטרות

  • הגדרת הסביבה.
  • יצירה ופריסה של פונקציה של Cloud Functions.
  • יוצרים את התוסף ופורסים אותו.
  • מתקינים את התוסף.

דרישות מוקדמות

הגדרת הסביבה

פתיחת הפרויקט ב-Cloud במסוף Google Cloud

  1. נכנסים לדף Select a project במסוף Google Cloud.

    בחירת פרויקט ב-Cloud

  2. בוחרים את הפרויקט ב-Google Cloud שבו רוצים להשתמש. לחלופין, לוחצים על יצירת פרויקט ופועלים לפי ההוראות שבמסך. אם אתם יוצרים פרויקט ב-Google Cloud, ייתכן שאתם צריכים להפעיל את החיוב בפרויקט.

הגדרת מסך ההסכמה של OAuth

לתוספים ל-Google Workspace נדרשת הגדרה של מסך הסכמה. הגדרה של מסך ההסכמה ל-OAuth של התוסף מגדירה מה Google מציגה למשתמשים.

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & Services > מסך ההסכמה של OAuth.

    מעבר למסך ההסכמה של OAuth

  2. בהגדרה סוג משתמש, בוחרים באפשרות פנימי ולוחצים על יצירה.
  3. ממלאים את טופס ההרשמה לאפליקציה ולוחצים על שמירה והמשך.
  4. בינתיים, אפשר לדלג על הוספת היקפים וללחוץ על שמירה והמשך. בעתיד, כשיוצרים אפליקציה לשימוש מחוץ לארגון ב-Google Workspace, צריך לשנות את סוג המשתמש לחיצוני ואז להוסיף את היקפי ההרשאות שנדרשים לאפליקציה.

  5. לבדוק את הסיכום של רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם הרישום של האפליקציה נראה בסדר, לוחצים על Back to Dashboard (חזרה למרכז השליטה).

יצירה ופריסה של פונקציה של Cloud Functions

  1. בטרמינל מקומי, מפעילים את Cloud Functions , Cloud Build ואת ממשק ה-API של תוספים ל-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. מאתרים את כתובת ה-URL של הפונקציה שנפרסה. כדי למצוא את כתובת ה-URL, מריצים את הפקודה הבאה ומחפשים את השדה url בקטע httpsTrigger:

    gcloud functions describe loadHomePage
    
  4. יוצרים את הקובץ 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": {}
      }
    }
    
  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 בדף Dashboard.

השלבים הבאים

כדי להוסיף עוד פונקציות לתוסף Google Workspace, תוכלו להיעזר במדריכים הבאים: