Per estrarre i dati di congestione presi al punto di controllo desiderato e magari farsi spedire una email o altro qualora il livello di congestione arrivi a 10 ad esempio, si può usare la funzione IMPORTDATA di google sheets.
Nel proprio GoogleDrive aprire un nuovo Sheets (in italiano: Fogli).
Nella prima casella (cioè A1) scrivere
https://traffic.api.here.com/traffic/6.3/flow/xml/15/17242/11734?app_id=pippo&app_code=pluto"
con pippo e pluto sostituiti con il propri codici di HERE
nella casella A3 ad esempio , scrivere
=IMPORTDATA(A1)
cosi' da importare la risposta
poi occorre spezzare la risposta in base ai <FI> , perciò si usa SPLIT
ma SPLIT lavora su un carattere soltanto non 4 come in <FI>, quindi scegliamo "^":
mettiamo in A4
=SOSTITUISCI(A3,"<FI>","^")
e poi in A5
=split(A4, "^", VERO, VERO)
si otterrà qualcosa del genere, dove si vedono le informazioni suddivise in colonne, cioè ad ogni colonna corrisponde un punto di rilevamento:
Ora occorre estrarre le congestioni , assumendo che le colonne saranno sempre quelle, ma che i campi <SSS> potranno esserci oppure no a seconda che venga precisata la congestione a dettaglio maggiore.
se JF maggiore della soglia, allora allarme altrimenti fluisce.
Non resta che fare lo script che manda una email se una delle caselle segnala l'allarme. Nella email verrà riportata l'informazione su dove come e quando.
Ad esempio se l'allarme è un colonna G, allora verrà spedito il contenuto della cella G5.
L'altro metodo è importare XML (=IMPORTXML(A1)) ma prima occorre tenere presente un pasticcio nella risposta in formato XML: https://stackoverflow.com/questions/58175223/importxml-in-google-sheets-returns-n-d-when-i-make-slightly-complex-requests
Per fare questo import occorre sbarazzarsi della stringa incriminata
xmlns="http://traffic.nokia.com/trafficml-flow-3.2"
che è un errore (voluto?) nel formato XML.
Quindi occorre fare un salto triplo.
1. IMPORTDATA in una casella di tutto il file XML
2. SOSTITUISCI la stringa incriminata con "", cioè nulla
3. pubblicare il solo foglio con i dati sostituiti in formato tsv (NON csv! poiché mette doppi apici a tutti i doppi apici)
4. IMPORTXML del foglio pubblicato, ora in formato senza errori, su cui possono essere fatte xquery che funzionano


Nessun commento:
Posta un commento