Krótkie wprowadzenie: tworzenie dodatku w dowolnym języku kodowania

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Utwórz dodatek do Google Workspace w Cloud Functions bez używania Apps Script.

Cele

  • Utwórz funkcję w Cloud Functions.
  • Zadzwoń do Google, aby wywołać dodatek.
  • Utwórz wdrożenie dodatku.
  • Zainstaluj dodatek.

Wymagania wstępne

Utwórz funkcję w Cloud Functions

  1. W terminalu lokalnym włącz Cloud Functions, Cloud Build i interfejs API dodatków:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. W pustym katalogu utwórz plik function.js z tym przykładowym kodem:

    /**
     * Google 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. Wdróż funkcję:

    gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
    
  4. Sprawdź, czy funkcja została wdrożona:

    gcloud functions call loadHomePage
    

Zadzwoń do Google, aby wywołać dodatek

  1. Znajdź adres e-mail konta usługi dodatku:

    gcloud workspace-add-ons get-authorization
    
  2. Przypisz do konta usługi rolę cloudfunctions.invoker:

    gcloud functions add-iam-policy-binding loadHomePage \
        --role roles/cloudfunctions.invoker \
        --member serviceAccount:SERVICE_ACCOUNT_EMAIL
    

Tworzenie wdrożenia dodatku

  1. Uzyskaj adres URL wdrożonej funkcji:

    gcloud functions describe loadHomePage
    
  2. Utwórz plik deployment.json z tym przykładowym kodem. Zastąp URL adresem URL wdrożonej funkcji z poprzedniego kroku.

    {
      "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": {}
      }
    }
    
  3. Utwórz wdrożenie:

    gcloud workspace-add-ons deployments create quickstart \
        --deployment-file=deployment.json
    

Instalowanie dodatku

  1. Zainstaluj wdrożenie w trybie programisty:

    gcloud workspace-add-ons deployments install quickstart
    
  2. Otwórz lub odśwież Gmaila, aby wyświetlić dodatek. Na pasku narzędzi po prawej stronie poszukaj ikony zlewki.

  3. Kliknij ikonę, aby otworzyć dodatek.

Czyszczenie danych

  1. Odinstaluj dodatek z konta Google:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. Aby uniknąć obciążenia opłat za zasoby zużyte w tym samouczku, usuń projekt:

    gcloud projects delete PROJECT_ID
    

    Zastąp PROJECT_ID identyfikatorem projektu używanego na potrzeby krótkiego wprowadzenia. Identyfikator projektu znajdziesz w Cloud Console na stronie Panel.