Crea un componente aggiuntivo di Google Workspace in Cloud Functions utilizzando il runtime Node.js.
Obiettivi
- Configurare l'ambiente.
- Creare una funzione Cloud Functions ed eseguirne il deployment.
- 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. Impara come Verificare lo stato di fatturazione dei progetti.
- Cloud SDK configurate con il progetto Cloud.
Configura l'ambiente
Apri il tuo 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, potrebbe essere necessario attivare la fatturazione per il progetto.
Configurare la schermata per il consenso OAuth
I componenti aggiuntivi di Google Workspace richiedono una configurazione della schermata per il consenso. Configurazione in corso... la schermata per il consenso OAuth del componente aggiuntivo definisce quale viene mostrato agli utenti.
- Nella console Google Cloud, vai al Menu > API e Servizi > Schermata consenso OAuth.
- In Tipo di utente, seleziona Interno, quindi fai clic su Crea.
- Compila il modulo di registrazione dell'app, quindi fai clic su Salva e continua.
Per il momento, puoi saltare l'aggiunta di ambiti e fare clic su Salva e continua. In futuro, quando creerai un'app da utilizzare al di fuori del tuo Nell'organizzazione Google Workspace, devi modificare il Tipo di utente in Esterno e poi aggiungi gli ambiti di autorizzazione richiesti dalla tua app.
- Esamina il riepilogo della registrazione dell'app. Per apportare modifiche, fai clic su Modifica. Se l'app la registrazione sembra a posto, fai clic su Torna alla Dashboard.
Crea ed esegui il deployment di una funzione Cloud
In un terminale locale, attiva Cloud Functions, Cloud Build e API Google Workspace Add-ons:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
In una directory vuota, crea il file
function.js
con quanto segue codice campione:/** * 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 chiamate non autenticate del personalizzata. Il deployment della funzione potrebbe richiedere un paio di minuti.
Crea 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
Recupera l'URL della funzione di cui è stato eseguito il deployment. Per ottenere l'URL, esegui questo comando e cerca il campo
url
nella sezionehttpsTrigger
:gcloud functions describe loadHomePage
Crea il file
deployment.json
con il codice campione che segue. SostituisciURL
con l'URL della funzione di cui è stato eseguito il deployment dall' 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à sviluppo:
gcloud workspace-add-ons deployments install quickstart
Apri o ricarica Gmail per visualizzare il componente aggiuntivo. Nel Cerca l'icona di un bicchiere nella barra degli strumenti a destra.
Fai clic sull'icona per aprire il componente aggiuntivo. Se richiesto, autorizzare il componente aggiuntivo.
(Facoltativo) Eseguire la pulizia
Per evitare che al tuo account vengano addebitati costi, elimina le risorse che creato:
Disinstalla il componente aggiuntivo dall'Account Google:
gcloud workspace-add-ons deployments uninstall quickstart
Per evitare che ti vengano addebitati costi per le risorse utilizzate in questa guida rapida, elimina del progetto Cloud:
gcloud projects delete PROJECT_ID
Sostituisci PROJECT_ID con l'ID del progetto Cloud che usato per la guida rapida. Puoi trovare l'ID progetto Cloud alla console Google Cloud Pagina Dashboard.
Passaggi successivi
Per aggiungere altre funzionalità al tuo componente aggiuntivo di Google Workspace, fai riferimento alle seguenti guide:
- Crea un componente aggiuntivo in qualsiasi linguaggio di programmazione
- Visualizzare l'anteprima dei link con smart chip