惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
量子位
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
爱范儿
爱范儿
博客园 - 【当耐特】
Vercel News
Vercel News
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
博客园 - 叶小钗
博客园_首页
V
Visual Studio Blog
宝玉的分享
宝玉的分享
B
Blog
MyScale Blog
MyScale Blog
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
V
V2EX

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
「Apps Script」从零开始,定制您的行程助理 - 少数派
2021-09-06 · via 少数派

前言

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 的事情吗?

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

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

那这一切都物超所值。


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

相关链接