前言

Google Apps Script 是一个快速的应用程序开发平台,可以快速、轻松地创建与 Google Workspace 集成的商业应用。你可以用现代的 JavaScript 编写代码,并可以访问最喜欢的 Google Workspace 应用程序的内置库,如 Gmail、日历、Drive 等。没有任何东西需要安装--我们在你的浏览器中给你一个代码编辑器,而你的脚本在谷歌的服务器上运行。

上述引用来自于 Google Apps Script 引导页。根据描述,用户可以通过编写 JavaScript 代码,对 Google 家的部分应用进行操作。

例如读取 Gmail 的邮件、日历的日程、表格的单元格等。也可以实现发送邮件等操作。

看到可以读取 Gmail 和发送邮件,突然来了点子💡

我们是不是可以自动提取行程信息,根据自己需求,定制自己的行程助理?例如火车票、机票预定、酒店预定等信息,收到邮件后,由脚本处理再转发到 GTD 软件,到了时间后自动提醒,可以完美执行 GTD 理念中的 “记录,然后忘掉” 的原则~既然想到了,那就开始做!

当然,可以操作 Google 家数据 ,哪只能实现这点需求,故本文将是 App Script 分享的第一篇,之后还会折腾,实现各种需求~也可以在评论区中添加您的需求,我会尽力而为。

效果

解锁,右滑,一目了然。「右上+下方小组件」

PS: 自动添加到 Google 日历已实现,待优化后补充在评论区

为啥有这个需求?

:明明携程的小组件显示效果不错,为啥你要自己做一个?

:每回买票时候,我只记一个出发时间,到了车站之后才开始看车次、检票口、座位等信息。如果打开 12306 需要验证,还要多点几步等待加载,比较麻烦。前段时间携程推出的小组件做的挺直观的,但它显示信息不全啊😡,想看检票口还要进入 App 才能看到。什么启动速度它自己没点数吗?啊?!为什么不能在小组件里一并显示呢?「注: 携程的小组件显示效果如上图左上角所示」

遗憾

但也有遗憾的事,发送到滴答清单的邮件不适用滴答的自然语法。

例如文本为“2021年08月18日18:18提前15分钟D1818号,18车18A,检票口18A~提醒事项#12306”

在滴答清单的 App 中输入,将会被识别为标题为 "D1818号,18车18A,检票口18A",提醒时间为2021年8月18日18点18分并且提前十五分钟提醒,所在的列表为“提醒事项”,标签为“12306”的任务。

但通过邮件发送,将会被识别为标题为 “2021年08月18日18:18提前15分钟D1818号,18车18A,检票口18A~提醒事项#12306”,提醒时间为2021年8月18日18点18分的任务。

文本中带的时间不会被自动抹除📅,无法指定标签🏷️,无法设置提前提醒时间⏰,总归还是需要进入 App 多操作几步,就有点不太舒心…「此处偷偷@滴答官方人员,自然语法为啥不能套用在邮件添加中呢…」

还有… 我这边 12306 的邮件发送不到 Gmail 里面,找了半天没找到为啥(´Д` )

哎… 最后舍近求远,由 QQ 邮箱转发所有 12306 的邮件到 Gmail …

 

如果有知道为啥的朋友,可以帮忙在评论区解解惑😂

废话说了不少,下面正式开始讲解实现逻辑。


如何实现匹配与转发

仅做抛砖引玉,相信各位大佬能做的比我更好。更能开发出更多信息的聚合。

相关代码详见此 GitHub 仓库(粘代码有凑字数嫌疑

使用到的服务与软件

项目准备

  • 登陆 Apps Script
  • 新建项目

实现思路详解

  1. 获取到需要处理的邮件。
  2. 初步匹配“出发时间、车次、座位、检票口等”相关信息「作为后续匹配的基础」。
  3. 精确匹配“出发时间”、“车次”、“座位”、“检票口”,作为独立变量为拼接文本做准备。
  4. 根据自身需求,拼接成任务文本
  5. 发送邮件到滴答清单提供的邮箱中
  6. 执行测试

脚本何时触发

最好的触发器应该是收到邮件就触发一次脚本。但是仅支持时间驱动和日历驱动…

所以此处用了时间驱动的形式触发脚本。

因为一般来说买车票都是提前好几天就买好了,对及时性要求不高。所以我把时间设为每15分钟读取一次。

滴答清单设置

根据当前脚本添加的任务如下图所示

重新修改标题,添加标签。

设置小组件到负一屏,设置过滤规则

尾巴

操作步骤偏多,还需要编写代码,结果完了之后还要再重新编辑。

 

好像距自动化理念相差甚远。甚至写代码、调试的时间,够我接下来一年自行编辑出差任务用。

那为什么还要折腾呢?

 

但是如果想想,通过这一次,从今往后的 Gmail ,它收到什么,您想要它做什么,您想让它成为什么?您都能自定,全权掌控。这不是一件很 Cool 的事情吗?

 

就如标题所说,“从零开始,定制您的行程助理”。将来,您也可以定制您的生活助理、提醒助理…

 

让工具更好的服务于自身🚗

那这一切都物超所值。


感谢您读到这,下次再见~

相关链接