Utilitzar un full de càlcul per a desar dades en appinventor (o altres llenguatges)

Español (Spanish) English (English)

L’article d’avui és molt tècnic i informàtic i molt poc pedagògic. Com sempre, l’origen sí que és educatiu, ja que la problemàtica em va sorgir a l’aula, amb alumnes de 4t. Però és una qüestió informàtica.

Amb els alumnes de 4t seguim el programa Mobilitzem la informàtica (amb algunes adaptacions). És un programa on els alumnes aprenen design thinking desenvolupant una aplicació per a telèfons mòbils amb appiventor.

Total, que en moltes aplicacions és molt útil tenir una base de dades al núvol. Pels alumnes és molt senzill utilitzar els serveis de Google, ja que el centre funciona amb G Suite for Education. El problema està en que Google no ofereix bases de dades de manera gratuïta. Tenen el servei Cloud SQL, però és de pagament. Les Fusion Table eren una opció, però Google ja ha avisat que al desembre desapareixeran.

Per sort en Ferran Mas en va orientar per tal d’utilitzar un full de càcul de Google com a base de dades, creant un script coma webapp i connectant-lo amb l’appinventor.

De fet, el funcionament és molt senzill. L’script fa que qualsevol persona que escrigui una adreça URL concreta, obtingui un text com a resposta, concretament en format JSON (que no és res més que una manera concreta d’ordenar les dades).

Per exemple, si es consulta la següent URL

https://script.google.com/macros/s/AKfycbw82kzyRu1X5ui3kw-JMdUApr6MLA-zMswde3a8GxMLzKwe3GXs/exec?accio=consultar&num=1

es consulta un full de càlcul i s’obté el següent resultat (en format JSON)

[{"accio":"consultar","num":1,"pregunta":"Capital de França?","resposta1":"París","resposta2":"Londres","resposta3":"Madrid","respcorrecte":1,"foto":"https://es.parisinfo.com/var/otcp/sites/images/media/1.-photos/02.-sites-culturels-630-x-405/tour-eiffel-trocadero-630x405-c-thinkstock/37221-1-fre-FR/Tour-Eiffel-Trocadero-630x405-C-Thinkstock.jpg"}]

Per tant, qualsevol sistema que pugui fer una crida a la URL i recollir els resultats, podrà consultar la base de dades. Pot ser appinventor, un altre google app script, un javascript o qualsevol altre.

El full de càlcul no és públic, només el poden consultar determinats usuaris. Però cal tenir clar que en donar-hi accés a través de l’script, no es pot usar per desar dades confidencials. Qualsevol que conegui la URL podria fer consultes i acabar coneixent el contingut. Cert que l’aplicació no fa pública l’adreça de l’script, però analitzant el tràfic es podria aconseguir fàcilment, ja que no hi ha cap encriptació. Per tant, només serveix per a dades que puguin ser públiques.

Total, que si a algú li pot interessar, adjunto l’enllaç a un tutorial d’exemple amb tots els passos per crear el full de càlcul, crear l’script, publicar-lo, comprovar-lo i utilitzar-lo des de l’appiventor.

TUTORIAL CONNEXIÓ FULL DE CÀLCUL GOOGLE COM A BASE DE DADES DE L’APPINVENTOR

Español (Spanish) English (English)

2 thoughts on “Utilitzar un full de càlcul per a desar dades en appinventor (o altres llenguatges)

  1. Bones Jaume,

    Llegint el teu article (molt interessant per cert), veig que afirmes:

    “El full de càlcul no és públic, només el poden consultar determinats usuaris. Però cal tenir clar que en donar-hi accés a través de l’script, no es pot usar per desar dades confidencials. Qualsevol que conegui la URL podria fer consultes i acabar coneixent el contingut. Cert que l’aplicació no fa pública l’adreça de l’script, però analitzant el tràfic es podria aconseguir fàcilment, ja que no hi ha cap encriptació. Per tant, només serveix per a dades que puguin ser públiques.”

    Pel que tinc entès, això no és del tot cert, la connexió va per HTTPS per tant sí que va xifrada. En les connexions HTTPS es pot esbrinar el servidor (la part del domini de la URL), en aquest cas script.google.com, però la resta d’informació ja va xifrada. De fet, existeix ara una nova extensió sobre HTTPS que permet xifrar també el domini (DNS over HTTPS), tot i que un atacant podria arribar a esbrinar la IP de connexió i mirar a quin domini pertany. En cap cas, però, podria trobar el paràmetre de l’ID de l’script per fer les peticions arbitraries després.

    Més informació (bastant tècnica): https://stackoverflow.com/questions/499591/are-https-urls-encrypted

    Tot i així, faig bona la recomanació de no posar dades privades en scripts oberts ja que és fàcil que en algun moment s’escapi l’ID de l’script per qualsevol via (mirant l’executable es podria trobar la cadena de caràcters script.google.com i a partir d’aquí estirar el fil i buscar després l’ID de l’script).

    Salut!

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir el correu brossa. Aprendre com la informació del vostre comentari és processada