Applications Web

Si vous créez une interface utilisateur pour un script, vous pouvez le publier en tant qu'application Web. Par exemple, un script permettant aux utilisateurs de planifier des rendez-vous avec les membres d'une équipe d'assistance est présenté comme une application Web permettant aux utilisateurs d'y accéder directement depuis leur navigateur.

Les scripts autonomes et les scripts associés aux Google Workspace applications peuvent être transformés en applications Web, à condition qu'ils répondent aux exigences ci-dessous.

Conditions requises pour les applications Web

Un script peut être publié en tant qu'application Web s'il répond aux exigences suivantes:

Paramètres de requête

Lorsqu'un utilisateur visite une application ou qu'un programme envoie à l'application une requête HTTP GET, Apps Script exécute la fonction doGet(e). Lorsqu'un programme envoie à l'application une requête HTTP POST, Apps Script exécute doPost(e) à la place. Dans les deux cas, l'argument e représente un paramètre d'événement qui peut contenir des informations sur tous les paramètres de requête. La structure de l'objet d'événement est illustrée dans le tableau ci-dessous:

Champs
e.queryString

Valeur de la partie chaîne de requête de l'URL, ou valeur null si aucune chaîne de requête n'est spécifiée

name=alice&n=1&n=2
e.parameter

Objet de paires clé/valeur correspondant aux paramètres de la requête. Seule la première valeur est renvoyée pour les paramètres comportant plusieurs valeurs.

{"name": "alice", "n": "1"}
e.parameters

Un objet semblable à e.parameter, mais avec un tableau de valeurs pour chaque clé

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

Chemin de l'URL après /exec ou /dev. Par exemple, si le chemin de l'URL se termine par /exec/hello, les informations sur le chemin sont hello.

e.contextPath Non utilisée, toujours la chaîne vide.
e.contentLength

Longueur du corps du message pour les requêtes POST, ou -1 pour les requêtes GET

332
e.postData.length

Même chose que pour e.contentLength

332
e.postData.type

Type MIME du corps de la requête POST.

text/csv
e.postData.contents

Texte du contenu du corps de la requête POST

Alice,21
e.postData.name

Toujours utiliser la valeur "postData"

postData

Par exemple, vous pouvez transmettre des paramètres tels que username et age à une URL, comme indiqué ci-dessous:

https://script.google.com/.../exec?username=jsmith&age=21

Vous pouvez ensuite afficher les paramètres comme suit:

function doGet(e) {
  var params = JSON.stringify(e);
  return HtmlService.createHtmlOutput(params);
}

Dans l'exemple ci-dessus, doGet(e) renvoie le résultat suivant:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

Déployer un script en tant qu'application Web

Pour déployer un script en tant qu'application Web, procédez comme suit:

  1. En haut à droite du projet de script, cliquez sur Déployer > Nouveau déploiement.
  2. À côté de "Sélectionner le type", cliquez sur Activer les types de déploiement > Application Web.
  3. Saisissez les informations concernant votre application Web dans les champs de la section "Configuration de déploiement".
  4. Cliquez sur Déployer.

Vous pouvez partager l'URL de l'application Web avec les utilisateurs de votre choix, à condition de leur avoir accordé l'accès.

Tester le déploiement d'une application Web

Pour tester votre script en tant qu'application Web, procédez comme suit:

  1. En haut à droite du projet de script, cliquez sur Déployer > Tester les déploiements.
  2. À côté de "Sélectionner le type", cliquez sur Activer les types de déploiement > Application Web.
  3. Sous l'URL de l'application Web, cliquez sur Copier.
  4. Collez l'URL dans votre navigateur et testez votre application Web.

    Cette URL se termine par /dev et seuls les utilisateurs disposant d'un accès en modification au script peuvent y accéder. Cette instance de l'application exécute toujours le code le plus récemment enregistré et n'est destinée à être testée que pendant le développement.

Autorisations

Les autorisations d'une application Web varient selon la manière dont vous choisissez d'exécuter l'application:

  • Exécuter l'application en tant que moi : dans ce cas, le script s'exécute toujours en votre nom, en tant que propriétaire du script, quel que soit l'utilisateur qui accède à l'application Web.
  • Exécuter l'application en tant qu'utilisateur accédant à l'application Web : dans ce cas, le script s'exécute sous l'identité de l'utilisateur actif utilisant l'application Web. Cette approche amène l'application Web à afficher l'adresse e-mail du propriétaire du script lorsque l'utilisateur autorise l'accès.

Intégrer votre application Web à Google Sites

Vous pouvez également intégrer des applications Web à la fois dans la version classique et dans la nouvelle version de Google Sites.

Intégrer une application Web dans la nouvelle version de Sites

Pour intégrer une application Web, vous devez d'abord la déployer. Vous avez également besoin de l'URL déployée de la boîte de dialogue Deploy.

Pour intégrer une application Web à une nouvelle version de Sites, procédez comme suit:

  1. Ouvrez la page "Sites" sur laquelle vous souhaitez ajouter l'application Web.
  2. Sélectionnez Insérer > Intégrer l'URL.
  3. Collez l'URL de l'application Web, puis cliquez sur AJOUTER.

L'application Web s'affiche dans un cadre dans l'aperçu de la page. Lorsque vous publiez la page, les internautes doivent peut-être autoriser l'application Web avant son exécution normale. Les applications Web non autorisées présentent des invites d'autorisation à l'utilisateur.

Intégrer une application Web dans la version classique de Sites

Vous pouvez lier un script à un site Google classique de la même manière que vous pouvez lier un script à un document ou une feuille de calcul Google. Pour créer un script lié, accédez à votre site, cliquez sur l'icône en forme de roue dentée Paramètres, puis sélectionnez Gérer le site. Sur la page "Gérer le site", cliquez sur Apps Script (Scripts Apps) dans le menu de navigation de gauche, puis sur le bouton Add new script (Ajouter un script). Un nouveau script s'ouvre dans l'éditeur Apps Script, dans lequel vous pouvez coder et déployer votre application Web.

Vous pouvez également intégrer votre application Web dans une page. Vous pouvez lier l'application Web au site ou utiliser n'importe quelle application Web dont vous disposez de l'URL. Pour intégrer une application Web à une page Google Sites, procédez comme suit:

  1. Ouvrez un site pour lequel vous disposez d'un accès en modification ou créez-en un.
  2. Accédez à la page de votre site où vous souhaitez intégrer l'application Web.
  3. Cliquez sur l'icône de modification, puis sur Insérer > Google Apps Script.
  4. Choisissez le script dans la liste qui représente votre application Web. Si celle-ci n'est pas liée à ce site, vous pouvez coller l'URL de l'application Web.
  5. Cliquez sur le bouton Sélectionner, choisissez les options souhaitées dans la boîte de dialogue suivante, puis cliquez sur Enregistrer.
  6. Enregistrez vos modifications sur la page. Votre application Web doit alors être intégrée à votre page Sites.

Applications Web et historique du navigateur

Il peut être souhaitable qu'une application Web Apps Script simule une application multipage, ou qu'elle ait une interface utilisateur dynamique contrôlée via les paramètres d'URL. Pour ce faire, vous pouvez définir un objet d'état pour représenter l'UI ou la page de l'application, puis transférer cet état dans l'historique du navigateur lorsque l'utilisateur parcourt votre application. Vous pouvez également écouter des événements d'historique pour que votre application Web affiche l'UI appropriée lorsque l'utilisateur passe d'un bouton à l'autre. En interrogeant les paramètres d'URL au moment du chargement, vous pouvez faire en sorte que votre application génère son UI de manière dynamique en fonction de ces paramètres, ce qui permet à l'utilisateur de démarrer l'application dans un état particulier.

Apps Script fournit deux API JavaScript côté client asynchrone pour vous aider à créer des applications Web liées à l'historique du navigateur:

  • google.script.history fournit des méthodes permettant une réponse dynamique aux modifications de l'historique du navigateur. Par exemple: transférer des états (objets simples que vous pouvez définir) dans l'historique du navigateur, remplacer l'état supérieur de la pile d'historique et définir une fonction de rappel d'écouteur pour réagir aux changements d'historique.

  • google.script.url permet de récupérer les paramètres d'URL et le fragment d'URL actuels de la page, s'ils sont présents.

Ces API d'historique ne sont disponibles que pour les applications Web. Ils ne sont pas compatibles avec les barres latérales, les boîtes de dialogue et les modules complémentaires. Cette fonctionnalité n'est pas recommandée dans les applications Web intégrées à un site Google Sites.