Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Javascript
Posted by: Eric De Kock
Added: Mar 13, 2019 1:18 AM
Modified: Mar 13, 2019 1:18 AM
Views: 13
  1. //You need to enter your own spreadsheetID below. See the documentation for instructions on where to find it.
  2. var spreadsheetID = "Google Sheet ID";
  3.  
  4. function doPost(e) {
  5.  
  6.         try {
  7.                 var sh = SpreadsheetApp.openById(spreadsheetID).getSheets()[0]
  8.                         sh.setFrozenRows(1);
  9.  
  10.                   //sh.appendRow([JSON.stringify(e)]);
  11.                 if (sh.getLastRow() > 0) {
  12.                         var titles = sh.getRange(1, 1, 1, sh.getLastColumn()).getValues()[0];
  13.                 } else {
  14.                         var titles = [];
  15.                 }
  16.  
  17.                 if (e.parameter["data.json"]) {
  18.  
  19.                         var obj = JSON.parse(e.parameter["data.json"]);
  20.                         //sh.appendRow([JSON.stringify(obj)]);
  21.                         var arrNames = [];
  22.  
  23.                         for (i = 0; i < titles.length; i++) {
  24.                                 arrNames[i] = "";
  25.                         }
  26.  
  27.                         var flag = false
  28.                                 for (var nam in obj) {
  29.                //sh.appendRow(obj[nam]);
  30.                                         var flag1 = true;
  31.                                         for (i = 0; i < titles.length; i++) {
  32.                                                 if (titles[i] == ('' + nam).replace("_", " ")) {
  33.                                                         arrNames[i] = obj[nam][0];
  34.                                                         flag1 = false;
  35.                                                         break;
  36.                                                 }
  37.                                         }
  38.  
  39.                                         if (flag1 == true) {
  40.                                                 titles.push(('' + nam).replace("_", " "));
  41.                                                 arrNames[titles.length - 1] = obj[nam][0];
  42.                                                 flag = true;
  43.                                         }
  44.  
  45.                                 }
  46.                                 var lock = LockService.getScriptLock();
  47.                         var success = lock.tryLock(10000);
  48.                         if (!success) {
  49.                                 throw 'Could not obtain lock after 10 seconds.';
  50.                         }
  51.  
  52.                         if (flag == true) {
  53.                                 sh.getRange(1, 1, 1, titles.length).setValues([titles]);
  54.                         }
  55.  
  56.                         if (sh.getLastRow() == 1) {
  57.                                 sh.appendRow(["'"]);
  58.                         }
  59.                         sh.appendRow(arrNames);
  60.  
  61.                         lock.releaseLock();
  62.  
  63.                 } else {
  64.                         throw "Object not found";
  65.                 }
  66.  
  67.        return HtmlService.createHtmlOutput('<div>'+ 'Processed successfully!' + '</div>');
  68.        //return ContentService.createTextOutput('Processed successfully!');
  69.  
  70.         } catch (e) {
  71.          return HtmlService.createHtmlOutput('<div>'+ e + '</div>');
  72.                 //return ContentService.createTextOutput(e);
  73.         }
  74.  
  75. }
  76.  
  77. function doNothing(){
  78.  
  79. }