Crea componenti aggiuntivi di Google Workspace in Cloud Functions utilizzando il runtime Node.js.
Obiettivi
- Configurare l'ambiente.
- Crea ed esegui il deployment di una funzione Cloud.
- Crea ed esegui il deployment del componente aggiuntivo.
- Installa il componente aggiuntivo.
Prerequisiti
- Un progetto Google Cloud.
- Assicurati di attivare la fatturazione per il tuo progetto Cloud. Scopri come verificare lo stato della fatturazione dei tuoi progetti.
- Cloud SDK configurato con il progetto Cloud.
Configura l'ambiente
Aprire il progetto Cloud nella console Google Cloud
- Nella console Google Cloud, vai alla pagina Seleziona un progetto.
- Seleziona il progetto Google Cloud che vuoi utilizzare. In alternativa, fai clic su Crea progetto e segui le istruzioni sullo schermo. Se crei un progetto Google Cloud, potresti dover attivare la fatturazione per il progetto.
Configura la schermata per il consenso OAuth
I componenti aggiuntivi di Google Workspace richiedono la configurazione di una schermata di consenso. La configurazione della schermata per il consenso OAuth del tuo componente aggiuntivo definisce ciò che Google mostra agli utenti.
- Nella console Google Cloud, vai a Menu > > Branding.
- Se hai già configurato il , puoi configurare le seguenti impostazioni della schermata per il consenso OAuth in Branding, Pubblico e Accesso ai dati. Se viene visualizzato il messaggio non ancora configurato, fai clic su Inizia:
- In Informazioni sull'app, in Nome app, inserisci un nome per l'app.
- In Indirizzo email dell'assistenza utente, scegli un indirizzo email dell'assistenza a cui gli utenti possono contattarti in caso di domande sul loro consenso.
- Fai clic su Avanti.
- In Pubblico, seleziona Interno.
- Fai clic su Avanti.
- In Informazioni di contatto, inserisci un indirizzo email a cui ricevere notifiche di eventuali modifiche al progetto.
- Fai clic su Avanti.
- In Fine, esamina le Norme relative ai dati utente dei servizi API di Google e, se accetti, seleziona Accetto le Norme relative ai dati utente: servizi API di Google.
- Fai clic su Continua.
- Fai clic su Crea.
- Per il momento, puoi saltare l'aggiunta degli ambiti. In futuro, quando crei un'app da utilizzare al di fuori della tua organizzazione Google Workspace, devi modificare il Tipo di utente in Esterno. Poi Aggiungi gli ambiti di autorizzazione richiesti dalla tua app. Per saperne di più, consulta la guida completa su come configurare il consenso OAuth.
Crea ed esegui il deployment di una funzione Cloud
In un terminale locale, attiva Cloud Functions, Cloud Build e l'API Componenti aggiuntivi di Google Workspace:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
In una directory vuota, crea il file
function.js
con il seguente codice di esempio:/** * 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" } } ] } ] } } ] } }; }
Esegui il deployment della funzione:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
Se richiesto, specifica che non consenti le chiamate non autenticate della funzione. Il deployment della funzione potrebbe richiedere alcuni minuti.
Creare un deployment di componenti aggiuntivi
Trova l'indirizzo email dell'account di servizio per il componente aggiuntivo:
gcloud workspace-add-ons get-authorization
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
Ottieni l'URL della funzione di cui è stato eseguito il deployment. Per ottenere l'URL, esegui il seguente comando e cerca il campo
url
nella sezionehttpsTrigger
:gcloud functions describe loadHomePage
Crea il file
deployment.json
con il seguente codice di esempio. SostituisciURL
con l'URL della funzione di cui è stato eseguito il deployment nel 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": {} } }
Crea il deployment:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Installazione del componente aggiuntivo
Installa il deployment in modalità di sviluppo:
gcloud workspace-add-ons deployments install quickstart
Apri o ricarica Gmail per visualizzare il componente aggiuntivo. Nella barra degli strumenti a destra, cerca l'icona di un becher.
Fai clic sull'icona per aprire il componente aggiuntivo. Se richiesto, autorizza il componente aggiuntivo.
(Facoltativo) Pulizia
Per evitare che al tuo account vengano addebitati costi, elimina le risorse che hai creato:
Disinstalla il componente aggiuntivo dal tuo Account Google:
gcloud workspace-add-ons deployments uninstall quickstart
Per evitare di incorrere in addebiti per le risorse utilizzate in questa guida rapida, elimina il progetto Cloud:
gcloud projects delete PROJECT_ID
Sostituisci PROJECT_ID con l'ID del progetto Cloud che hai utilizzato per la guida rapida. Puoi trovare l'ID progetto Cloud nella console Google Cloud nella pagina Dashboard.
Passaggi successivi
Per aggiungere altre funzionalità al tuo componente aggiuntivo di Google Workspace, consulta le seguenti guide:
- Creare un componente aggiuntivo in qualsiasi linguaggio di programmazione
- Visualizzare l'anteprima dei link con gli smart chip