четверг, 14 мая 2020 г.

Google sheet (гугл таблицы). Вывод данных в формате JSON с помощью App Script.

Создадим исходные данные. Создадим новую гугл таблицу и введем данные в два столбца:



Откроем редактор скриптов и введем текст функции  doGet ()


//--------------------
//--- function doGet  -  когда пользователь посещает приложение или программа отправляет ему GETз
//--- Справка - https://developers.google.com/apps-script/guides/web?hl=ru
//--- Автор: Andrey Sipelawes
//--- Дата создания: 2020-05-15
//--------------------
function doGet(e){

 // Заменить на URL Вашей таблицы
 var ss = SpreadsheetApp.openByUrl("URL Вашей таблицы");

// sheet - имя листа в таблице, заменить на имя Вашего листа в таблице
 var sheet = ss.getSheetByName("sheet - имя Вашего листа в таблице");
  
 return getUsers(sheet); 
  
}

В моем случае будет:

function doGet(e){

 // Заменить на URL Вашей таблицы
 var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1TO4mbdjVi36wrm7GccEvTn7rqfgwnIZD35i5PQJxWGs/edit?usp=sharing");

// sheet - имя листа в таблице, заменить на имя Вашего листа в таблице
 var sheet = ss.getSheetByName("test");
  
// вызываем нашу функцию по созданию JSON
 return getTest(sheet); 
  
}

Далее создадим функцию по обработке полученных данных и вывод их в формате JSON.


/--------------------
//--- function getTest  -  вывод данных с листа гугл таблицы в формате JSON
//--- Автор: Andrey Sipelawes
//--- Дата создания: 2020-05-15
//--------------------
function getTest(sheet){
  var jo = {};
  var dataArray = [];

// заносим данные с листа test  в массив rows
  var rows = sheet.getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn()).getValues();
  
  for(var i = 0, l= rows.length; i<l ; i++){
    var dataRow = rows[i];
    var record = {};
    record['id'] = dataRow[0];
    record['name'] = dataRow[1];
    
    dataArray.push(record);
    
  }  
  
  jo.user = dataArray;
  
  var result = JSON.stringify(jo);
  
  return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON);
  
}  

Опубликуем наше веб приложение 



Проверим







Комментариев нет:

Отправить комментарий