Google Apps Scripts - Extraire des données à partir de gmail dans une feuille de calcul
c'est le premier script que j'essaie d'écrire à partir de zéro. Il fait pas bon jusqu'à maintenant donc je vais demander de l'aide.
Cas: - je recevoir d'e-commerce e-mails de confirmation de sites e-commerce, pas d'adresse email de réponse. Dans le courriel de l'organisme, ils peuvent envoyer l'adresse de courriel de la part des acheteurs. Je veux envoyer un courriel automatique à l'organisme de l'adresse e-mail.
Comment j'ai l'intention de le faire (tout suggetions éliminer des étapes sera remercié).
-
Utiliser une règle pour tag les e-mails entrants avec une étiquette unique.
-
Utiliser cette balise pour identifier les e-mails dans gmail avec un script, aller un par un et d'en extraire les infos dont j'ai besoin. L'utilisation des regex avec les e-mails corps de contenu pour extraire l'adresse email que j'ai besoin pour envoyer des e-mails automatiques. Le Plan est d'obtenir: l'objet, la date, l'e-mail de corps.
-
Écrire tout ce que les informations à une feuille de calcul.
-
Se débarrasser de l'étiquette unique d'informations pour prévenir les pistes en double.
-
Puis utiliser le formulaire de mule addon pour envoyer des e-mails à partir de la feuille de calcul.
Jusqu'à présent, j'ai abordé les étapes de 1 (facile), et a été stuggling avec les étapes 2 et 3 (je ne suis pas un codeur, je peux lire, undestrand et hack. écrit à partir de zéro est une chose complètement différente). Ive a traité 4 avant je pense que c'est la meilleure façon de traiter avec elle.
Avec le script que j'ai extrait les informations à la feuille de calcul, avec l'addon j'utilise les infos de la feuille de calcul pour envoyer des e-mails.
C'est le code de la ive écrit jusqu'à présent. J'ai quitté la regex partie pour plus tard parce que je ne peux même pas écrire quoi que ce soit dans la feuille de calcul encore. une fois que je reçois que de travail, les mauvais de commencer à travailler dans la regex et "supprimer l'étiquette" aspects du script.
function myFunction() {
function getemails() {
var label = GmailApp.getUserLabelByName("Main tag/subtag");
var threads = label.getThreads();
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 subject=message.getSubject();
tosp(message);
}
}
}
function tosp(message){
var body=message.getBody()
var date=message.getDate();
var subject=message.getSubject();
var id= "my spreasheet id";
var ss = SpreadsheetApp.openById(id);
var sheet = ss.getActiveSheet();
sheet.appendRow(subject,date,body);
}
}
Toute aide serait appréciée.
Merci
Sebastian
Vous devez vous connecter pour publier un commentaire.
Voici le code que j'ai écrit et testé qui effectue les étapes 2, 3 et 4 mentionnés par vous parfaitement bien.
L'un des défauts dans votre code a été que le
appendRow
fonction accepte un tableau de l'un des éléments mentionnés dans[ ]
crochets.Selon l'endroit où vous êtes à la fixation de ce script, votre ligne de code:
n'est pas nécessaire si le script est écrit dans l'éditeur de script de la feuille de calcul où vous souhaitez que ces e-mails à être connecté. Cependant, si il y a plusieurs feuilles dans cette feuille de calcul, vous pouvez remplacer ma ligne
par
Une autre suggestion est que le code actuel vous donnera des messages au format HTML. Donc, si vous voulez obtenir le message en texte brut comme vous le voyez, l'utilisation:
Maintenant, vous pouvez écrire une autre fonction pour les regex, et de transmettre le message
msg
pour que. Espérons que cette aide!