Passer au contenu principal
Si vous souhaitez collecter les réponses de votre widget dans Kameleoon et les exporter au format CSV, consultez cet article.
Dans cet article, vous apprendrez :
  • Comment configurer votre Google Sheet pour recevoir les données du sondage.
  • Comment configurer l’onglet Survey Settings dans le Widget Studio pour envoyer les réponses à Google Sheets.

Configurer votre Google Sheet

  1. Accédez à Google Sheets et créez une nouvelle feuille de calcul.
  2. Nommez l’onglet Sheet 1 (qui est la valeur par défaut).
  3. Dans la première ligne, définissez les colonnes comme suit :
Détails :
  • Column A > Entrez Date. Cette cellule sera automatiquement remplie avec la date et l’heure de chaque soumission.
  • À partir de Column B > Entrez le nom de chaque élément de sondage ou de formulaire ajouté à votre widget.
Vous pouvez trouver le nom d’un élément dans l’arborescence des éléments dans l’onglet Content de la section Design.
Lorsque vous sélectionnez un élément (par exemple, une scale), son nom apparaît en haut de la barre latérale d’édition.
Prenons ce widget comme exemple :
Ce widget comporte deux éléments de sondage. Ainsi, dans la première ligne de la Google Sheet, nous devons saisir :
  • Column A : Date
  • Column B : Scale
  • Column C : Long Answer
  1. Ajouter un Google App Script
  • Cliquez sur Extensions > App Script. Un nouveau Google Script s’ouvre. Renommez-le (par exemple, My form data).
  • Remplacez tout le code par les éléments suivants :
const sheetName = 'Sheet1'
  const scriptProp = PropertiesService.getScriptProperties()
  function initialSetup () {
    const activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet()
    scriptProp.setProperty('key', activeSpreadsheet.getId())
  }
  function doPost (e) {
    const lock = LockService.getScriptLock()
    lock.tryLock(10000)
  try {
      const doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))
      const sheet = doc.getSheetByName(sheetName)
  const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
  const nextRow = sheet.getLastRow() + 1
  const newRow = headers.map(function(header) {
  return header === 'Date' ? new Date() : e.parameter[header]})
   sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])
   return ContentService   .createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))   .setMimeType(ContentService.MimeType.JSON)
  }
  catch (e) {
      return ContentService
        .createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))
        .setMimeType(ContentService.MimeType.JSON)
    }
  finally {
      lock.releaseLock()
    }
  }
Si, pour une raison quelconque, vous ne pouvez pas nommer votre onglet « Sheet 1 », modifiez la première ligne du script et remplacez « Sheet 1 » par le nom réel de votre onglet.
Une fois terminé, votre script devrait ressembler à ceci :
  1. Cliquez sur Save project to Drive (à gauche de Run).
  2. Dans la liste déroulante à droite de Debug, sélectionnez initialSetup (cela devrait être sélectionné par défaut).
  3. Cliquez sur Run.
Vous pouvez voir un pop-in demandant des autorisations. Cliquez sur Review permission et passez à l’écran suivant. Parce que Google n’a pas examiné le script, un message d’avertissement peut apparaître. Cliquez sur Go to Mailing List (unsafe) pour configurer les autorisations correctes pour mettre à jour votre formulaire.
Une fois les autorisations correctes données au script, vous devriez voir la sortie suivante dans la console de l’éditeur de script :
Dans le menu de gauche, cliquez sur Triggers pour ajouter un déclencheur au script/
Cliquez ensuite sur Add trigger. Dans la fenêtre qui apparaît, sélectionnez les options suivantes :
  • Choose which function to run : doPost
  • Choose which deployment should run : Head
  • Select event source : From spreadsheet
  • Select event type : On form submit
Cliquez sur Save. Cliquez sur Deploy > New deployment.
Cliquez sur l’icône cog à côté de Select type > Web app. Dans le formulaire qui apparaît, sélectionnez les options suivantes :
  • Description : My Form Data (cela peut être ce que vous voulez ; rendez-le simplement descriptif.)
  • Web app > Execute as : Me
  • Web app > Who has access : Anyone
Cliquez sur Deploy.
Who has access : Anyone est obligatoire pour la transmission correcte des résultats.
Copiez l’URL.

Configurer les paramètres de sondage dans le Widget Studio

  1. Dans l’onglet Survey Settings, sélectionnez le bouton sur lequel les utilisateurs cliqueront pour soumettre leur réponse.
  2. Sous How are responses collected?, choisissez HTTP Request (external).
    • Request Name : Donnez un nom à votre requête (par exemple, Send data to my Google Sheet).
    • Method : Sélectionnez POST.
    • Action URL : Collez l’URL générée par votre Google Apps Script.
  3. Enregistrez votre configuration.

Tester votre configuration

  1. Previsualisez votre widget.
  2. Remplissez le sondage et Submit.
  3. Retournez à votre Google Sheet.
Vous devriez maintenant voir une nouvelle ligne avec votre réponse.