4

Webservices con Google Sheets + App Script


Webservices con Google Sheets + App Script
La hoja de cálculo de Google podemos realizar varias operaciones como Insertar / Actualizar / Eliminar / Leer usando Google AppScript . Y puede ser usarda como nuestro backend.


web api creado: https://script.google.com/macros/s/AKfycby01lKNm94FHYORH3_c-lHK35r4zOoZiF8_tOD-QhfujBglDiE/exec?action=getItems
Configuración de la hoja de cálculo de Google:

  1. Inicie sesión en su cuenta de Google

  2. Crea una nueva hoja de cálculo CLIK AQUÍ .

  3. Cuando cree una hoja de cálculo, verá la identificación en la URL.

Para el archivo app script necesitamos la URL deTu Hoja de calculo

  1. Como en la imagen de abajo, vaya a Herramientas → Editor de secuencias de comandos.

Configuración de Google AppScript:
Aquí, en este editor, tenemos que escribir AppScript que actuará como una API web y que se comunicará con las hojas de Google.
 AppScript que debe escribir en el archivo anterior y guardarlo.

var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1q8tX6qEj5NbWKaGX3hWAzoSbrHqwM9IN-8bqOZmbIIo/edit#gid=0"); // sheet of account 

var sheet = ss.getSheetByName("Sheet1"); //it is the sheet name .. so it should match 
function doGet(e){
  var action = e.parameter.action;//URL_SCRIPT/exec?action=getItemsif(action == 'getItems'){
    return getItems(e);
  }
}

function getItems(e){
  var records={};
  var rows = sheet.getRange(2, 1, sheet.getLastRow() - 1,sheet.getLastColumn()).getValues();
      data = [];for (var r = 0, l = rows.length; r < l; r++) {
    var row     = rows[r],
        record  = {};
    record['Title'] = row[0];
    record['Description']=row[1];
    record['Price']=row[2];
    data.push(record);
   }
  records.items = data;
  var result=JSON.stringify(records);return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON);
}

  1. Seleccione en la pestaña Publicar → Implementar como aplicación web

  2. Verá una ventana como esta, solo asegúrese de seleccionar ‘Ejecutar la aplicación’ como ’ Yo’ y ‘Quién tiene acceso a la aplicación’ como ’ Cualquiera, incluso anónimo’. Cada vez q realize una actualizacion se debe elegir nuevo

Se requiere autorización. Solo revisa los permisos. Luego seleccione su cuenta de Google.

Verá una pantalla, simplemente expanda ‘Avanzado’ y haga clic en ’ Ir a YOUR_PROJECT_NAME (inseguro)’. 

¡Permita estos permisos y listo!
Finalmente, obtendrá una ventana como esta con la URL de la aplicación web. Copie esa URL web como referencia. Usaremos esta URL para realizar solicitudes HTTP GET.

Copiamos la url mas la funcion q declaramos:
WEB_APP_URL_SCRIPT/exec?action=getItems
URLs:
Web Api: https://script.google.com/macros/s/AKfycby01lKNm94FHYORH3_c-lHK35r4zOoZiF8_tOD-QhfujBglDiE/exec?action=getItems
Ejemplo Publicado
https://rogergcc.github.io/specials_menu/

Escribe tu comentario
+ 2
1
5Puntos

Hola, cómo publicaste la aplicación? Necesito crear una API y publicarla para que quede con un dominio mio. Ejemplo: “mydomain.ejemplo/read”. Actualmente tengo el problema que al momento de editar la API tengo que publicar y eso cambia la url.

1
2000Puntos
7 meses

si esta tu proyecto lo tieenes como repositorio en github en las opciones de configuracion pueds redireccionar a tu dominio url.
revisa la doc de github o en Youtube

1
14192Puntos

Hola que tal, me gustaria saber mas de esto, que funcionalidades le puedo dar a mis hojas de estilo de google?

2
2000Puntos
2 años

Hola Daniel, pues hasta puedes realizar lo mismo que a una tabla, eliminar buscar actualizar leer.
Además usa el Lenguaje JS, así que lo que puedar hacer con js lo puedes hacer aquí.
También como de google tiene facilidad de combinación con herramientas como forms, gmail. etc.

1
14192Puntos
2 años

Genial, podriamos reunirnos para que me expliques mas del tema, me interesa mucho

0
2000Puntos
2 años

Claro que si, Mientras puedes ver que esta compartido el repositorio y el proceso. 👍

2
2000Puntos
2 años

mi correo esta en GitHub. de ahí coordinamos.