דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. חתיכת חלק מהודעה בג'ימייל

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

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

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

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

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

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

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

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

        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
        • dovidD dovid העביר נושא זה מ-תכנות ב-

        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום