תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

    חתיכת חלק מהודעה בג'ימייל

    תכנות
    2
    3
    79
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגב כנושא
    התחבר בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ש
      שאול נ"י נערך לאחרונה על ידי שאול נ"י

      בג'ימייל כשעונים תשובה לאימייל שהתקבל התשובה כוללת בתוכה את כל השרשור של האימיילים מהתחלה
      (כשמקבלים תשובה על אימייל אפשר ללחוץ על השלוש נקודות ... ולראות את כל השרשור)

      עכשיו, אני רוצה להעביר הלאה את ההודעה, אבל שיכלול רק את ההודעה האחרונה ללא כל השרשור
      אני משתמש בגוגל סקריפט (שהיא JS) כדי לקבל את ההודעה, וההודעה מגיעה קודם עם התשובה האחרונה ומתחתיו כל השרשור כציטוט

      השאלה מה הדרך הכי נכונה לעשות זאת?
      (מקווה שהייתי ברור...)

      מוטי אורן תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • מוטי אורן
        מוטי אורן @שאול נ"י נערך לאחרונה על ידי

        @שאול-נ-י אם הבנתי אותך נכון, אתה רוצה לקבל רק הודעה ספציפית מתוך שרשור (מה שנקרא 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];
        
        ש תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • ש
          שאול נ"י @מוטי אורן נערך לאחרונה על ידי

          @מוטי-אורן תודה
          אני מדבר על השלב שאחרי קבלת ההודעה האחרונה בשרשור
          אז עשיתי פקודה שאקבל את תוכן ההודעה, אבל כל הודעה שמתקבלת מכילה בתוכה בעתם את כל השרשור
          כתבתי כך

          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)

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • 1 / 1
          • פוסט ראשון
            פוסט אחרון
          בא תתחבר לדף היומי!