2017-10-11 8 views
1

Je voudrais exécuter une fonction de traitement chaque fois qu'un nouvel email arrive dans ma boîte de réception. Je regarde https://developers.google.com/apps-script/guides/triggers/events. Je ne vois pas comment déclencher un événement lorsqu'un courrier électronique arrive. Est-ce que je manque quelque chose?Événements de service Gmail?

+1

Non, vous ne l'êtes pas. Aucun déclencheur pour le moment dans le script des applications. –

+0

Il existe certaines solutions de contournement que vous pourriez utiliser, comme l'étiquetage de nouveaux messages électroniques, puis en utilisant le 'GmailApp' pour interroger le nombre de messages avec l'étiquette et itérer. Ce n'est pas idéal, mais peut aider à obtenir ce que vous cherchez. – Brian

Répondre

2

Il n'y a pas de déclencheurs par courrier électronique dans Apps Script, comme l'a dit Serge insas. Comme une solution de contournement imparfaite, vous pouvez exécuter un script toutes les 5 minutes et traiter les messages arrivés dans le dernier intervalle. Voici un exemple, basé sur this post:

function checkEmail() { 
    var interval = 5; // if the script runs every 5 minutes; change otherwise 
    var date = new Date(); 
    var timeFrom = Math.floor(date.valueOf()/1000) - 60 * interval; 
    var threads = GmailApp.search('is:inbox after:' + timeFrom); 
    for (var i = 0; i < threads.length; i++) { 
    threads[i].reply("This is auto-reply for demonstration; you probably want to do something else here."); 
    } 
}