make自动化-将google sheets中满足条件的数据定期自动发送给line

有时我会在google sheets里维护一些信息,因为会有一些日期信息,我希望每次到期前一天都可以提醒到我。有没有什么好的办法?

那么我们就试下用make,帮我们实现这个自动化流程。

需求是这样:当google sheets里有存在明天的日期时,就会通过line给我提醒,并且已经提醒过的行,就不用再给我重复提醒了。

1、在开始节点,新增google sheets节点,选择search rows操作

在配置页面,选择google sheets里你需要获取数据的表格名称,还有表格内的sheet页,以及你要获取表格内数据的范围

2、在google sheets节点后,新增line的节点,选择send a notification操作

然后在message里选择line的消息通知需要展示的数据。

注:这里需要关联line,所以需要申请line 的消息API,如何申请?

进入line notify:https://notify-bot.line.me/en/

log in之后,我们在个人信息下选择my page

进入my page后,在页面下方选择generate token即可。这样会生成一个access token,用来链接line和make

3、google sheets和line这两个节点配置好之后,我们需要在两个节点之间的连接线配置筛选条件

因为我们的需求是,在有效日期的前一天发line消息给我

所以我们需要做如下配置:

有效日期 = 今天 + 1天,满足这个条件的才会到line节点发送消息。

首先我们选择有效日期字段,判断条件选择datetime类别下的equal to,然后函数配置为{{formatDate(addDays(now; 1); “YYYY-MM-DD”)}},这个函数的意思就是在now的基础上加1天,并且把格式变为YYYY-MM-DD,和google sheets里的有效日期格式一致,这样才能正常对比。

以上步骤配置完成后,google sheets里满足条件的信息就可以通过line进行发送了。

那到了这里,还会有一个疑问,make每次执行的时候,都会遍历google sheets里的数据,每次遍历都会把满足条件的信息进行发送,这样感觉信息会重复。那么有没有办法,让发送过的信息就不再发送了?

我们可以试着用这种方式解决:在google sheets再增加一列,比如叫“发送标记”,发送过的信息,就在“发送标记”下增加标识“已发送”,针对有“已发送”标识的行,即使满足条件,也不去发送了。

那么这里我们需要做如下改造:

1、在google sheets增加列“发送标记”

2、在line后增加一个google sheets的节点,选择update a row操作

这里选择要修改的表,在发送标记的value维护“已发送”的文本,意思就是每次发送成功,都会更新对应的google sheets,在对应行写入一个“已发送”的文本

3、最后我们在刚才增加筛选条件的地方,再增加一个and条件

选择对应的列,判断条件选择text下的not equal to,文字栏输入已发送

意思就是google sheets的c列(发送标记)里,当文字不为“已发送”的时候,才满足发送条件。(已标记“已发送”的就不再重复发送了)

那么,以上的流程配置完,就可以满足需求了。最后我们再配置上需要发送的频率就好。

是不是非常简单?

视频介绍:

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部