Site icon Abavala !!!

IFTTT-2-API utiliser des fonctions pour transformer vos données

Pour faire suite à mon article concernant IFTTT et la possibilité de faire communiquer ce service à tout autre exposant une API sur le web en faisant appel à IFTTT-2-API, je vous propose aujourd’hui une petite astuce très intéressante.   Elle vous permettra de tirer un peu plus partie de ce programme en vous ouvrant de nouveaux horizons.  Si les données reçues de IFTTT ne vous conviennent pas tout à fait et que vous souhaitez les retravailler avant d’appeler l’API, sachez que c’est tout à fait possible.  Vous pouvez exploiter toute la puissance de Google Script pour cela.

Pour illustrer cette fonctionnalité nous allons prendre comme exemple une mise en oeuvre amusante.  Imaginez que vous souhaitez faire parler votre Lapin Karotz à la demande.  Une manière simple de le faire est d’envoyer la phrase à dire par le lapin par mail.  IFTTT permet de recevoir des mails et d’en communiquer le contenu à IFTTT-2-API.  IFTTT-2-API permet de communiquer ces données à PushingBox qui sera à même de faire parvenir la phrase souhaitée à votre lapin communicant Karotz.

La cinématique sera donc:

Mail => IFTTT => IFTTT-2-API => PushingBox => Karotz

Lorsque le lapin Karotz parle je souhaite qu’il annonce en premier qui est la personne qui m’envoie le mail avant de prononcer le contenu du message reçu.  IFTTT ne me permet pas de faire des transformations de ce style.  Encore une fois on va utiliser Google Script pour nous y aider.

Voici comment faire:

  • mettre en oeuvre IFTTT-2-API (si ce n’est pas déjà fait)
  • être abonné à PushingBox
  • avoir installé sur votre lapin Karotz l’application PushingBox
  • avoir paramétré PushingBox pour pouvoir discuter avec votre lapin Karotz
  • créer le scénario PushingBox permettant de relier ce service avec votre Lapin de la manière suivante:
  • relever dans PushingBox le DeviceID du scénario
  • Ouvrir maintenant IFTTT-2-API et renseigner le code de votre scénario dans l’onglet “Param” en face de la référence “devid”
  • aller dans l’éditeur de scripts

Vous pouvez y écrire toute les fonctions que vous souhaitez et les sauvegarder dans l’éditeur de script dans le fichier “fonctions.gs” (ou tout autre fichier).

Je vous propose la fonction très simple suivante:

/*associe un nom à un mail*/
function messagePourKarotz (mail,texte)
{
  var Expediteur= "inconnu";

  if (mail == "titi@toto.fr")
  {
    Expediteur = "Hervé";
  }
  return "Message de " + Expediteur + ": " + texte;
}

Il vous faut adapter le script ci-dessus en y remplaçant votre adresse mail (et votre prénom sauf si vous vous appelez également Hervé)

  • Copier la fonction précédente, la copier dans le fichier “fonctions.gs”, l’adapter (adresse mail et nom) puis sauvegarder la modification.

C’est tout pour IFTTT-2-API!

Petite pause dans le tutoriel afin de vous faire part d’une petite astuce pour ne pas tourner en rond trop longtemps si Google script ne le fait pas tout seul:

  • Dans la feuille IFTTT-2-API vérifier que la fonction est présente parmi celles affichée.
  • Si ce n’est pas le cas il vous faut rafraîchir la liste manuellement

La parenthèse est maintenant terminée.  Le tutoriel peut reprendre.

  • Aller maintenant dans IFTTT.com. Il ne vous reste plus qu’a paramétrer votre règle IFTTT de la manière suivante:

Le champ “Formatted Row” contiendra la formule suivante:

PushingBox ||| =messagePourKarotz("{{From}}";" {{Body}}")

Enregistrez votre règle et s’en est terminé pour la mise en place.

Lorsque la donnée arrivera dans la feuille de calcul IFTTT-2-API, elle sera remplacée par le résultat de la fonction!

Pour vous en convaincre, si vous envoyez le mail suivant:

  • Destinataire : trigger@ifttt.com
  • Sujet : #lapin
  • Message : Je pars et serais là dans 10 minutes.

La phrase communiquée au lapin Karotz sera :

Message de Hervé:  Je pars et serais là dans 10 minutes.

En effet elle aura subit le traitement de la fonction “messagePourKarotz” avant d’être communiquée au Karotz!

Conclusion

Cet exemple est simpliste mais a pour but de vous présenter cette petite astuce qui a le mérite… d’être très puissante.  Je tenais à vous en faire part car je suis sûr qu’elle vous permettra de vous aider à obtenir la fonction souhaitée tout en vous ouvrant de nouvelles possibilités.  Vous pouvez bien évidement utiliser toutes les fonctions standard des Feuilles de Calculs Google Drive ou bien toutes celles au vous aurez écrites spécifiquement.

Cela permet de faire des choses non prévues par IFTTT ni par le Karotz.  On peut imaginer par exemple le fait de permettre l’annonce de la phrase uniquement si l’on est à la maison et si l’on est pas encore couchés.  Arriver à ce résultat est possible en utilisant cet appel des fonctions personnelles.  Il ne reste plus qu’a coder un peu plus… 😉

Quitter la version mobile