Criando um Backend no Google Sheets utilizando Apps Script
O Apps Script permite a criação de rotas consumíveis que retornam os dados de uma planilha.
Google Sheets é um CMS sim!
CMS é um Sistema para Gestão de Conteúdo, para pessoas não técnicas conseguirem fazer modificações e publicarem novos conteúdos.
Vou mostrar nesse artigo como você pode criar uma Rota API dentro de uma planilha no Google Sheets, e assim, transformá-lo em um CMS.
Dessa forma, você conseguirá consumir em qualquer aplicação os dados salvos em uma planilha.
Criando a planilha
Crie uma planilha normalmente em seu Drive.
Em extensões, selecione Apps Script.
Criando a função
Você verá uma função em branco, pode excluir e criar uma base como essa:
// Pegando a planilha com informações var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Página1") function doGet(e){ // Pegando parametro da requisição var action = e.parameter.action; if(action == 'getInfo'){ return getInformations(e) } } // Função que pega as informações function getInformations(e){ }
Pronto, ou quase pronto.
O que temos que fazer agora, é uma lógica para pegar as informações da planilha e retornar como um json.
Pegando as informações e retornando em JSON
Minha planilha exemplo, está assim:
Para pegar os dados, posso fazer dessa forma:
function getInformations(e){ var data = { 'techs':[] } var lastRow = sheet.getLastRow() for(var i = 2; i <= lastRow; i++){ let tech = sheet.getRange(i,1).getValue() data.techs.push(tech) } var result = JSON.stringify(data) return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON) }
Ativando a API
Na página onde você está, tem um botão "Implantar", selecione-o e depois escolha "Nova Implantação" e dê um nome para a sua aplicação.
Você deve ver uma tela como essa:
Exatamente, essa URL pode ser consumida, só não esquece de adicionar a nossa action no final ?action=getInfo.
Veja você mesmo
Resumo
Vimos que de forma simples conseguimos transformar uma planilha Google Sheets em um CMS.
O exemplo foi bem simples, mas espero que você tenha entendido o quão longe podemos ir.
Tudo se baseia na sua lógica em extrair os dados da função e retorná-los como JSON.