-
בג'ימייל כשעונים תשובה לאימייל שהתקבל התשובה כוללת בתוכה את כל השרשור של האימיילים מהתחלה
(כשמקבלים תשובה על אימייל אפשר ללחוץ על השלוש נקודות...
ולראות את כל השרשור)עכשיו, אני רוצה להעביר הלאה את ההודעה, אבל שיכלול רק את ההודעה האחרונה ללא כל השרשור
אני משתמש בגוגל סקריפט (שהיא JS) כדי לקבל את ההודעה, וההודעה מגיעה קודם עם התשובה האחרונה ומתחתיו כל השרשור כציטוטהשאלה מה הדרך הכי נכונה לעשות זאת?
(מקווה שהייתי ברור...) -
@שאול-נ-י אם הבנתי אותך נכון, אתה רוצה לקבל רק הודעה ספציפית מתוך שרשור (מה שנקרא Thread בג'ימייל API).
הרעיון הוא כזה. נניח שקיבלת Thread מסויים בדרך זו או אחרת, אני ישתמש לצורך הדוגמה במתודה getThreadById שמחזירה Thread לפי המזהה שלו.
אחרי שקיבלת את אובייקט ה-Thread, תשתמש במתודה getMessages, שמחזירה מערך של ההודעות בשרשור.
ומכאן הדרך קצרה לקבל את ההודעה האחרונה, בצורה של מערך[מערך.אורך - 1]:const thread = GmailApp.getThreadById('some string id'); const messages = thread.getMessages(); const lastMessage = messages[messages.length - 1];
-
@מוטי-אורן תודה
אני מדבר על השלב שאחרי קבלת ההודעה האחרונה בשרשור
אז עשיתי פקודה שאקבל את תוכן ההודעה, אבל כל הודעה שמתקבלת מכילה בתוכה בעתם את כל השרשור
כתבתי כךfunction myFunction() { var firstThread = GmailApp.getInboxThreads(0,1)[0]; var messages = firstThread.getMessages(); var lastMessage = messages[messages.length - 1]; var body = lastMessage.getPlainBody() Logger.log(body) }
וזה מה שהתקבל
C בתאריך יום ד׳, 6 באוק׳ 2021 ב-17:40 מאת AAAAA <XXX@gmail.com >: > B > > בתאריך יום ד׳, 6 באוק׳ 2021 ב-17:39 מאת AAAAA <XXX@gmail.com > >: > >> A >> >
כלומר, השורה הראשונה היא התשובה האחרונה שהתקבל אצלי, אבל מתחת יש גם את כל השרשור כמצוטט
ואני רוצה להעביר הלאה (לדוגמא לשלוח למייל אחר) רק את התשובה האחרונה (רק C)
-