สวัสดีครับ วันนี้จะมาเล่าประสบการณ์ใช้ google app script สร้าง event calendar เมื่อมี new email
โจทย์มีอยู่ว่า ทุกครั้งที่ผมออกกำลังกาย ผมจะ email workout summary ซึ่งมันจะสรุป เวลาที่ใช้ จำนวนแคลที่ได้ โซนหัวใจ และอื่นๆ
ทีนี้ ผมอยากเห็นเป็นรูปแบบ calendar เพราะจะได้รู้ว่า วันไหนออกกำลังกายไปเท่าไหร่ ออกตอนเช้าหรือ ตอนเย็น บลาๆ
![](https://kreangkrai.com/wp-content/uploads/2023/06/Screenshot-2566-05-31-at-12.38.53-1024x306.png)
ลงมือทำ
ขั้นตอนแรก ต้องลองทำ Diagram ก่อน
![](https://kreangkrai.com/wp-content/uploads/2023/06/Blank-diagram-Page-2-edited.jpeg)
Search Mail
ผมใช้วิธี search จาก label ซึ่งผมจะไปเพิ่ม setting gmail ให้มี filter label ก่อน ด้วย
“from:(moves@myzone.org) subject:(Your Myzone Workout Summary)“
ดังนั้นเมื่อมี email เข้ามาใหม่ แล้วตรงเงื่อนไขแล้ว gmail จะเพิ่ม label ให้อัตโนมัติ
![](https://kreangkrai.com/wp-content/uploads/2023/06/Screenshot-2566-05-31-at-12.36.29-1024x485.png)
Process
line3: search email ด้วย label
line6: เมลไหนที่หยิบมาอ่านแล้ว ต้องลบ label ทิ้งด้วย เพราะป้องกันการอ่านซ้ำ
line10-26: ตัดตกแต่ง content email เอาเฉพาะเนื้อหาที่เราต้องการ
line28-31: getCalendarById จากนั้น createEvent
![](https://kreangkrai.com/wp-content/uploads/2023/06/Screenshot-2566-05-31-at-12.39.56-1024x639.png)
Fetch Everyday
ตั้งค่าให้ Google App Script มี trigger เพื่อทำงานทุกวัน
![](https://kreangkrai.com/wp-content/uploads/2023/06/Screenshot-2566-05-31-at-12.41.41.png)
Result
![](https://kreangkrai.com/wp-content/uploads/2023/06/Screenshot-2566-05-31-at-12.31.10-1024x516.png)
Code
https://gist.github.com/mynameiskreang/d3fcd5c1fcbcf8b5ab08509955a25706