Guida rapida: creazione di un componente aggiuntivo in qualsiasi linguaggio di programmazione

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Crea un componente aggiuntivo di Google Workspace in Cloud Functions senza utilizzare Apps Script.

Obiettivi

  • Creare una funzione Cloud Functions.
  • Chiamare Google per richiamare il componente aggiuntivo.
  • Creare un deployment di componenti aggiuntivi.
  • Installa il componente aggiuntivo.

Prerequisiti

Crea una funzione Cloud

  1. In un terminale locale, attiva Cloud Functions, Cloud Build e l'API Add-ons:

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. In una directory vuota, crea il file function.js con il seguente codice di esempio:

    /**
     * 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. Esegui il deployment della funzione:

    gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
    
  4. Verifica che sia stato eseguito il deployment della funzione:

    gcloud functions call loadHomePage
    

Chiamare Google per richiamare il componente aggiuntivo

  1. Cerca l'indirizzo email dell'account di servizio per il componente aggiuntivo:

    gcloud workspace-add-ons get-authorization
    
  2. Concedi all'account di servizio il ruolo cloudfunctions.invoker:

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

Creare un deployment di componenti aggiuntivi

  1. Recupera l'URL della funzione di cui è stato eseguito il deployment:

    gcloud functions describe loadHomePage
    
  2. Crea il file deployment.json con il seguente codice campione. Sostituisci URL con l'URL della funzione di cui è stato eseguito il deployment al passaggio precedente.

    {
      "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. Crea il deployment:

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

Installare il componente aggiuntivo

  1. Installa il deployment in modalità sviluppo:

    gcloud workspace-add-ons deployments install quickstart
    
  2. Apri o ricarica Gmail per visualizzare il componente aggiuntivo. Nella barra degli strumenti a destra, cerca l'icona di un becher.

  3. Fai clic sull'icona per aprire il componente aggiuntivo.

Esegui la pulizia

  1. Disinstalla il componente aggiuntivo dal tuo Account Google:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. Per evitare che vengano addebitate le risorse utilizzate in questa guida rapida, elimina il progetto:

    gcloud projects delete PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del progetto che hai utilizzato per la guida rapida. Puoi trovare l'ID progetto in Cloud Console nella pagina della dashboard.