Google Apps : le script ne fonctionne pas

Bonjour,

Voici le script pour une recherche de mails sur une période donnée et à une tranche horaire donnée.
Il n'y a aucun résultat dans le tableau de bord (le script s'exécute, mais ne produit rien).

function searchEmails() {

var label = GmailApp.getUserLabelByName("messages envoyés");

var startDate = new Date("2021/01/01 17:00:00");

var endDate = new Date("2023/12/31 23:59:59");

var threads = GmailApp.search('after:' + startDate.toISOString() + ' before:' + endDate.toISOString() + ' label:"messages envoyés"');

for (var i = 0; i < threads.length; i++) {

var messages = threads[i].getMessages();

for (var j = 0; j < messages.length; j++) {

var message = messages[j];

var timestamp = message.getDate().getTime();

var hour = new Date(timestamp).getHours();

if (hour >= 17 && hour <= 23) {

var body = message.getBody();

Logger.log(body);

}}}}

Honnêtement, je n'y connais rien, je me suis arrêtée il y a 30 ans aux premières macros .xls

Merci de votre compréhension.

Belle soirée :)

Bonjour,

Je ne connais pas bien la partie mail d'App script, mais plusieurs points :

Label = Libellé

Afin de voir tous les labels d'une boite mail, vous pouvez tester ce bout de code, je ne suis pas certain que "messages envoyés" soit un label :

var labels = GmailApp.getUserLabels();
for (var i = 0; i < labels.length; i++) {
  Logger.log("label: " + labels[i].getName());
}

Dans ce cas, il faudrait trouver comment isoler les messages envoyés, il y a surement un moyen.

Sinon, attention aux dates et heures dans App Script, l'erreur peut venir d'ici.

Dernier point :

toISOString()

Je ne connais pas cette méthode, existe-t-elle bien dans App Script ?

Ce que vous pouvez faire c'est partir d'un script qui fonctionne pour rechercher les mails, trouvable sur le net, puis affiner avec vos conditions de date set heures au fil de l'eau afin d'obtenir le résultat escompté.

Merci d'avoir pris le temps de me répondre.
Je vais poursuivre les tests.

Belle fin de journée :)

Bonjour,

Voici ce que je viens de tenter sans succès :

function searchEmails() {

var threads = GmailApp.search('after:5pm before:11:59pm');

var messages = [];

for (var i = 0; i < threads.length; i++) { messages = messages.concat(threads[i].getMessages()); }

for (var j = 0; j < messages.length; j++) {

var time = messages[j].getDate().toLocaleTimeString([], {hour12:false});

if (time >= '17:00:00' && time <= '23:59:59') {

Logger.log('Subject: ' + messages[j].getSubject() + ', Time: ' + time); } }}

Si quelqu'un passe par là. Belle soirée :)

Rechercher des sujets similaires à "google apps script fonctionne pas"