Créer un module complémentaire Google Workspace dans Cloud Functions sans utiliser Apps Script
Objectifs
- configurer votre environnement ;
- Créer et déployer une fonction Cloud
- Créez et déployez le module complémentaire.
- Installez le module complémentaire.
Conditions préalables
- Un projet Google Cloud.
- Veillez à activer la facturation pour votre projet Cloud. Découvrez comment vérifier l'état de facturation de vos projets.
- Le SDK Cloud configuré avec le projet
Configurer votre environnement
Ouvrir votre projet Cloud dans la console Google Cloud
- Dans la console Google Cloud, accédez à la page Sélectionner un projet.
- Sélectionnez le projet Google Cloud que vous souhaitez utiliser. Vous pouvez également cliquer sur Créer un projet et suivre les instructions à l'écran. Si vous créez un projet Google Cloud, vous devrez peut-être activer la facturation pour ce projet.
Configurer l'écran de consentement OAuth
Les modules complémentaires Google Workspace nécessitent une configuration de l'écran d'autorisation. La configuration de l'écran d'autorisation OAuth de votre module complémentaire définit ce que Google affiche aux utilisateurs.
- Dans la console Google Cloud, accédez à Menu > API et services > Écran d'autorisation OAuth.
- Sélectionnez le type d'utilisateur de votre application, puis cliquez sur Créer.
- Remplissez le formulaire d'inscription, puis cliquez sur Enregistrer et continuer.
Pour l'instant, vous pouvez ignorer l'ajout de champs d'application et cliquer sur Save and Continue (Enregistrer et continuer). À l'avenir, lorsque vous créerez une application à utiliser en dehors de votre organisation Google Workspace, vous devrez ajouter et valider les champs d'application des autorisations requis par votre application.
- Si vous avez sélectionné Externe comme type d'utilisateur, ajoutez des utilisateurs tests :
- Sous Utilisateurs de test, cliquez sur Ajouter des utilisateurs.
- Saisissez votre adresse e-mail et tout autre utilisateur de test autorisé, puis cliquez sur Enregistrer et continuer.
- Examinez le récapitulatif de l'enregistrement de votre appli. Pour apporter des modifications, cliquez sur Modifier. Si l'enregistrement de l'application vous convient, cliquez sur Retour au tableau de bord.
Créer et déployer une fonction Cloud
Dans un terminal local, activez Cloud Functions, Cloud Build et l'API Add-ons:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
Dans un répertoire vide, créez le fichier
function.js
avec l'exemple de code suivant:/** * 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" } } ] } ] } } ] } }; }
Déployez la fonction :
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
Si vous y êtes invité, spécifiez que vous n'autorisez pas les appels non authentifiés de la fonction. Le déploiement de la fonction peut prendre quelques minutes.
Créer un déploiement de module complémentaire
Recherchez l'adresse e-mail du compte de service du module complémentaire:
gcloud workspace-add-ons get-authorization
Attribuez le rôle
cloudfunctions.invoker
au compte de service:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
Obtenez l'URL de la fonction déployée. Pour obtenir l'URL, exécutez la commande suivante et recherchez le champ
url
dans la sectionhttpsTrigger
:gcloud functions describe loadHomePage
Créez le fichier
deployment.json
avec l'exemple de code suivant. RemplacezURL
par l'URL de la fonction déployée de l'étape précédente.{ "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": {} } }
Créez le déploiement :
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Installer le module complémentaire
Installez le déploiement en mode de développement:
gcloud workspace-add-ons deployments install quickstart
Ouvrez ou actualisez Gmail pour afficher le module complémentaire. Dans la barre d'outils située à droite, cherchez une icône représentant une fiole.
Cliquez sur l'icône pour ouvrir le module complémentaire. Si vous y êtes invité, autorisez le module complémentaire.
Effectuer un nettoyage
Désinstallez le module complémentaire de votre compte Google:
gcloud workspace-add-ons deployments uninstall quickstart
Pour éviter que les ressources utilisées dans ce guide de démarrage rapide soient facturées:
gcloud projects delete PROJECT_ID
Remplacez PROJECT_ID par l'ID du projet que vous avez utilisé pour le démarrage rapide. Vous trouverez l'ID du projet dans la console Cloud sur la page Tableau de bord.