自动保存推文图片和视频到 OneDrive
在尝试了一系列自动化服务(IFTTT、Microsoft Flow、Zapier 以及 Integromat)之后,最终选择了使用 Integromat。 STEP 0 推特触发器 我们希望在用户发新推文的时候,触发 Scenario 将推文里的图片和视频保存到 OneDrive,所以首先需要添加推特触发器。点击邮件选择 add a module,选择 Twitter -> Watch Tweets。 Integromat 的 Twitter 触发器支持 watch 自己的账号或者某个 id 的账号,可以按需选择。 STEP 1 迭代器 当某个用户发了一条新推之后,推特触发器会获…

Integromat 天下无敌,价格也是无人能打的。就算只是自动保存一个推特账号的图片,每个月就能用掉大部分的免费额度,这还得感谢那个账号发的推文图片不多,用了一段时间之后还是考虑换其他产品了。

前几天本来是打算自己开坑做一个这类的简单工具站的,连名字都想好了,域名都已经放进购物车准备剁手了,这时突然又想去试试 Power Automate (也可以叫 Microsoft Flow,下文就直接简称 PA 了),几试几试发现好像能用?最早在决定使用 Integromat 的时候,其实是有用过 PA 的,但是不知道是什么原因(我忘记了,也许是因为 PA 不能保存视频? )导致我放弃了这个产品。

周末研究了一下午 PA,发现似乎 PA 更适合我的使用场景——当特定推特账号发含有图片的推文时,自动将图片保存到 OneDrive。主要原因在于 PA 的 Twitter 触发器要比 Integromat 的更加的强大。

power automate twitter trigger

PA 的触发器触发条件设置项要比 Integromat 更加的自由,不仅仅是限定某个账号,还可以是列表、关键词或者某个 hashtag。

我们可以直接监听一整个列表里的推文更新:

list:shincurry/save-media-to-onedrive filter:media -filter:retweets

或者也可以直接指定监听某些账号的推文更新:

from:lapinAngelia OR
from:tsubra_ OR
from:Ixy AND
filter:media -filter:retweets

PA 官方对于这个 Twitter 触发器的文档,其实写的很简略,实际上参考 Twitter 的 API 文档,你会发现可以写出很复杂的触发条件。filter:media -filter:retweets 的使用甚至让我们可以不用在 Flow 里面写条件判断推文有没有图片或者是不是转推。由于这两个条件的存在,实际上也减少了很多无意义的任务触发,同时也就减少了使用额度。唯一不太好的地方就是,这个定时的触发器每个小时才会运行一次,而且这个运行周期似乎还不能更改。

可以直接从推特列表的推文图片上传到 OneDrive,也就不需要再重复加很多个 Flow,然后给每个 Flow 设置一个 twitter screen name 了,而且之后如果要添加新的推特用户,可以直接改列表,甚至都不需要修改正在用的 Flow,从这一点来讲 PA 是非常的方便了。

power-automate-flow-demo

其他部分,使用体验 PA 就完全不及 Integromat 了。流程添加不够方便,流程有向图关系展示也不够清晰,添加操作的时候,每次都要等好久来加载连接器候选列表。而且我特别要吐槽一下 PA 这个变量设置:初始化变量只能在根流程设置,不能在循环体里设置。做一个初始化循环体内部变量的功能很难吗?

每当触发器触发的时候,会得到一个 TweetModel,里面包含了一些推文的信息。但是这个 TweetModel 其实相对于 Twitter API 是信息不全的,经过了一层数据筛选和整理。也是由于这个原因,PA 是没办法在这个流程中保存推文中的视频文件。

--2020-05-11---10.18.04

PA 上传文件到 OneDrive 的时候,可以选择从一个文件网络 URL 地址上传,相比 Integromat 也要方便不少,而且似乎也为 PA 省了些流量费?