Skip to content
Andrea Borruso edited this page Jan 21, 2016 · 10 revisions

Ricette

Come modificare la data di pubblicazione per renderla standard RSS

Imgur

// questa funzione converte il formato data da "11/12/2015" a "Fri, 11 Dec 2015 00:00:00 GMT", che è quello standard per gli RSS
for(var key in data.results.collection1){
    var oldData = data.results.collection1[key].pubDate;
    var arr = oldData.split('/');
    var newData = arr[2]+'-'+arr[1]+'-'+arr[0];
    var nuovadata = ((new Date(newData)).toUTCString());
    data.results.collection1[key].pubDate = nuovadata;
  }
  

Modificare l'output di kimono in modo che title e link del feed RSS siano correttamente mappati

In alcuni casi non è possibile estrarre con Google Docs link al documento e testo dalla stessa cella. Il nostro foglio avrà quindi una colonna che contiene il testo, e una che contiene il link, come in questo caso.

Se vogliamo ricomporre link e testo insieme in modo che ogni elemento del feed RSS punti al link giusto dobbiamo usare questo codice nell'editor di Kimono, modificando l'API.

function transform(data) {
  for(var key in data.results.collection1){
   
    var newtitle = {
    "href": data.results.collection1[key].href ,
    "text": data.results.collection1[key].title 
    }
    data.results.collection1[key].title = newtitle;
        
  }

  return data;
}

"href" e "text" sono le variabili che vanno a ricomporre "newtitle" ovvero il nostro titleRSS formato da i dati che abbiamo scrapato creando l'API ovvero la colonna 'href' e 'title'.

Quando si modifica un'API tramite funzione bisogna fare attenzione ad usare l'URL RSS corretto, e non quello modificato

Applicare l'URL encoding agli URL, per essere compliant con Telegram

Ad alcuni URL inviati a un Channel Telegram è necessario applicare l'encoding dei caratteri. Nella gran parte dei casi si tratta di sostituire caratteri come = e & rispettivamente con %3D e %26.

Ad esempio con la funzione di sotto si passa da, un URL non compliant per l'invio a un channel Telegram come questo

http://www.comuneagira.gov.it/component/chronoforms5/?chronoform=atti_vista&gcb=5349

a uno compliant come quest'altro

http://www.comuneagira.gov.it/component/chronoforms5/?chronoform%3Datti_vista%26gcb=5349
//  questa funziona fa in loop un trova e sostituisci nella proprietà title.href
  for(var key in data.results.collection1){
    var str = data.results.collection1[key].title.href;

    var sub1 = str.replace(/=/g, "%3D");
    var sub2 = sub1.replace(/&/g, "%26");
    
    var newtitle = {
    "href": sub2,
    "text": data.results.collection1[key].title.text 
    }

    data.results.collection1[key].title = newtitle;
    
  }