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

推荐订阅源

P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
Recent Announcements
Recent Announcements
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
J
Java Code Geeks
博客园_首页
Jina AI
Jina AI
美团技术团队
H
Help Net Security
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
S
SegmentFault 最新的问题

少数派

派早报: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 - 少数派
利用 IFTTT Maker DIY 你的 Applet - 少数派
2017-05-15 · via 少数派

引入

IFTTT 看少数派多的朋友大概是非常熟悉了,其简单的 If this then that 的理念却帮助我们提高了效率。它的 Channel 数多到数不清,甚至在不断增加,但总有些时候感觉差了些什么,我们的 Applet 被限定在一个框体内,没有完全交给我们自定义的地方,于是 Maker Channel 就诞生了。

2015 年 6 月 17 日,IFTTT 正式公布了这个新的 Channel。它们说到:所有的 DIY 爱好者,和那些热爱创造的人,我们非常高兴地向你们介绍全新的 Maker 频道。Maker 频道将 IFTTT 的巨大能力发展到任何你的自制 DIY 产品,你可以将任何请求直接以网络连接的形式激活,当你将它连接上 Raspberry Pi 或是 Auduino 的时候,你会发现用 Maker 制作 Applet 没有什么不可能。

那么它到底是什么呢?你可以简单地理解为,你可以将「访问一个特定的网站」设置为 IF 条件,也就是说,当你访问这个网站的时候,你的 Applet 就激活了,并且网站还可以传递最多三个参数(说实话,挺少的……)。也就是说,只要你有一个能够访问互联网的设备,它都能够作为 IFTTT 的 IF 条件终端。

IFTTT Maker 支持作为 IF 或 That 使用,作为 IF 时它的作用是「当该网页被请求的时候」,作为 That 的时候是「发出一个 Web 请求,可以是 GET ,PUT, POST, HEAD, DELETE, PATCH 或者 OPTIONS 之中的任何一种,你甚至还可以制定 Content Type 和 Body,嗯,看得懂的人都知道我在说什么 :)

如果你对这些 HTTP 名词感到陌生,可以看一下 这篇文章的原理部分,里面详细讲解了这些名词的意思。

我也有一个树莓派,简单了解它的作用后,我发现这个 Channel 潜力无穷,便自己做了一些小工具,下面我也将介绍一些。

· 用它来接收动态物流信息

· 用它来自动刷新全国(球) Apple Store 零售店的特别活动

· 类似 Yo 的,快速给你的朋友发送简短消息

开始

访问 IFTTT Maker Channel 的网站 http://maker.ifttt.com 并点击 Connect

当你在右上角看到 Documentations 和 Settings 后点击前者,你将会被定向到另一网页。

最大加粗的文字就是你的 Maker Key 了,你可以在刚刚位置的 Settings 点击 Edit Connection,如果你的 Key 被他人得知并滥用,在那里可以直接获取一个新的 Key,原 Key 就会作废。

而 Make a POST or GET web request to 后面所接的就是上文所说的「特定网址」了,它的格式一般如下 https://maker.ifttt.com/trigger/{event}/with/key/[你的KEY]

这个 {event} 是什么呢?你可以在请求的时候设置一个名字,比如我以 event 为 raw 的时候用一个 IFTTT Applet 来处理 IF 之后的 That,另一个 event 为 test 的时候用另一个 Applet 来处理这个 IF 的 That,这样方便你区分不同的请求,并让 IFTTT 作出不同的反应。

你可以直接访问这个网站,不附带任何参数,也就是做一个 GET 请求,这个时候 IFTTT 已经捕捉到了你的操作,类似 IFTTT 之前的另一个产品 Do Button,直接访问这个网站,就好像直接通过网站激活你的 Applet。如果你在 iOS,可以用 IFTTT Widget / IFTTT Apple Watch 应用 / Workflow 等灯做到和它完全一样的操作,但是对于并没有 IFTTT 客户端的设备,比如 Windows / Mac,或者其他的嵌入式设备,那么访问这个网站来激活你的 Trigger 也是一种非常好的办法。

当我们明白它的具体流程后,就来创建一个新的 Applet 吧!首先我们以最简单的举例子,创建一个通知工具,也就是说你访问这个网站时附带一句话,直接让 IFTTT 把这句话发到手机上通知给你。在 IF 中选择 Maker Webhooks。

这里有一个必填参数是 Event Name,也就是上文说的 {event},对于不同的 event 你可以以不同的方式处理,因此需要这个参数来区分,我们以 test 举例,你也可以随意选择一个词语,今后你可以对不同的 event 做不同的 applet。

That 部分直接选择 Notifications,也就是发送一条通知到 IFTTT App,也就是发送到你的手机上,内容我们清空,选择「Add Ingredient」,并选择 Value1,它会自动变为 {{Value1}}。接下来就可以保存了,这条 Applet 的意思就是,将 event name 为 test 的请求参数直接发送通知给你。

POST 的数据需要是 JSON 格式,比如:

{"value1": "第一个 Value"}

{"value1": "第一个 Value", "value2": "第二个 Value"}

curl 的 POST 请求方法:

curl -X POST -H "Content-Type: application/json" -d '[你的JSON]' [URL链接]

在手机上收到通知后,就表明你已经成功创建了这条 Applet 并通过了测试。

如果你对网络请求不熟悉,可能并不能理解 POST 和 JSON 的意义,如果你并不想做复杂的参数传递请求,可以将它就作为仅 GET 使用,访问网站对于大家都不是难事。

举例 1: 物流实时推送

我自己从去年 10 月其实就开始写这个 Python,来完成物流更新的实时推送,一开始我使用的其实是另一个叫做 Instapush 的服务,它与 IFTTT Maker 非常相似,但是是一个简化的版本,因为它只能用来发送通知,不能像 IFTTT 一样再结合另外的各种程序来做 That 联动。后来 Instapush 的服务器出了问题,Pushbots 公司也无心再管这个东西,于是我只好寻找他的替代品,正好找到了 IFTTT Maker。

整个程序的逻辑其实非常简单,与我之前分享的 Workflow 通知中心查快递 逻辑是相似的,只是利用了电脑更优秀的处理效率增加了一些别的优化,而 IFTTT 的部分呢?其实就只有一点点。

def pushbots(pushRaw): 
    os.system('curl -X POST -H "Content-Type: application/json" -d' + "'" + '{"value1":'" + pushRaw + '"}' + '"https://maker.ifttt.com/trigger/raw/with/key/[我的ID]")

也就是说,我在程序中只需要调用 pushbots("你好"),它就会给我的手机发送一句你好了,真正用到 IFTTT 的部分就只有一个网络连接,也正好体现出它的便捷之处,你所有的请求,就仅仅是打开一个特定的网页而已。

同样 Event_IFTTT.py 也是一样,刷新全中国 Apple Store 零售店官网的源代码,分析特别活动的部分,当有特别活动的时候,再调用类似上面程序的部分发送 IFTTT 通知即可。

从这张图你就可以看到,6:50 获取到了 6:40 的物流更新,8:50 获取到了 8:48 的更新,13:41 获取到了 13:39 的签收信息,该 Python 自动退出运行,如果我把刷新时间间隔改成 30s,那就可以得到完全实时的通知。

Today at Apple 是 Apple Store 的全新讲座项目,用 IFTTT Maker,我制作了一个 Telegram Channel 自动推送工具,你可以在 Telegram 页面 关注果铺知道,接受 Apple Store 特别活动通知。

上面三个源代码在 junyilou.github.io 开源。

举例 2: 发送一条类似 Yo 的短消息给你的朋友

Yo 是一个很有趣的 App,整个 App 只有一个功能,选择一个人,发给他一句 Yo! 但是其实它的用处还是很大的,因为真正使用它的人都明白这句 Yo 的含义:如果老板跟下属发 Yo,也许是邀请他来办公室喝茶;如果女朋友跟男朋友发 Yo,也许是叫他快来她的地方…… 有些时候和朋友的交流只需要一个词,并不需要太多文字,也能传达你的意思。

让你的朋友授权 IFTTT Maker,并让他告知你他的 Key,他创建一个接收通知的 Applet,以后你可以直接用 Workflow 后者其他工具,打开这个网址,然后它就会收到一条 Yo 消息了(你不需要安装 IFTTT App),当然 Yo! 这句话你也可以自己定制,比如改成「科科,你是不是又在玩手机了?好好上班!」

总结

对于有开发板,例如树莓派,或 VPS 等设备的人来说,IFTTT Maker 将 Trigger 简单的变为了一个网页请求,如果你将你的开发版连接上智能家庭项目,你就可以设置比如,开门时向手机发送通知;或者如果你只是将树莓派作为下载机,也可以让他下载完毕后通过 IFTTT 给你的手机发送通知,等等。可以说 Maker 给予了 IFTTT 更多可能,富有创意的开发者一定能用它作出更多精彩的 Applet。