Bots de conversa de Telegram amb Google Apps Script

Bots de conversa Exemples Dades pràctiques   Recursos CITCEA
Google Apps Script Projectes Interacció   Inici

Processat d'ordres GET

Si volem que el nostre script faci alguna cosa quan rep una comanda GET serà necessari que tingui la funció doGet. La sintaxi de la definició de la funció és la següent:

function doGet(e) {
  ...
}

Tractament dels paràmetres

Si volem obtenir la seqüència de paràmetres que s'han passat en la URL, podem fer servir e.queryString que ens retornarà tot el que hi ha després del signe ? a l'adreça URL. En aquest cas, si volem algun paràmetre en concret haurem de tractar el text rebut.

  var parametres = e.queryString;

Podem obtenir els paràmetres separadament fent servir e.parameter que, a més, ens permet agafar-los un a un. Per exemple

  var Accio = e.parameter.accio;

ens tornarà el valor del paràmetre acció. Si el paràmetre no existeix, ens tornarà null. A continuació tenim un exemple de com fer servir els paràmetres:

  var Accio = e.parameter.accio;
  if (Accio == null){
    ...
  }
  if (Accio == undefined){
    ...
  }
  if (Accio == "guardar"){
    ...
  }

En aquest exemple tenim un script que ens permet provar l'ordre GET i veure els paràmetres rebuts.

Enviament de text com a resposta

És habitual necessitar que la funció doGet retorni informació. Per retornar text podem fer servir la comanda ContentService.createTextOutput. Per exemple:

function doGet(e) {
  var resultat = "Text de prova";
  return ContentService.createTextOutput(resultat);
}

Important: Aquesta funció s'ha de fer servir a doGet, no funciona si s'empra en altres funcions que siguin cridades des de doGet.

Enviament de text en altres formats

A més de tornar text lliure, podem retornar dades en formats específics que puguin ser tractats per altres programes o aplicacions. Els formats disponibles són CSV, JSON, XML, iCal, RSS, JavaScript, ATOM i vCard. Per exemple:

Format Exemple
RSS return ContentService.createTextOutput(dadesRSS).setMimeType(ContentService.MimeType.RSS)
JSON return ContentService.createTextOutput(JSON.stringify(dades)).setMimeType(ContentService.MimeType.JSON);

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.