如果你看到这篇文章,那么对 IFTTT 就应该不会陌生。IFTTT 于 2011 年 5 月在美国上线,是“if this then that”的缩写,具体到本文要实现的,this 就是你在新浪微博发了一条消息,that 就是 Twitter 上同步发一条相同的消息,也即当你在网站 A 上进行了一项操作,那么就触法网站 B 自动完成另一个指定的操作。IFTTT 利用各种网站的开发 API,让网络操作能够引起连锁反应,并且通过对不同信息进行的交叉串联,让互联网的使用更加方便、智能。
新浪微博频道在 2014 年 10 月正式上线 IFTTT,有两个触发器,一个是每新发布一个微博,另一个是发布指定标签的微博。如果要求不高,要实现微博和 Twitter 的同步并不困难,因为在 Twitter 实现同步的操作里面有两条可以选择:一个是发送一条纯文字的消息,图片以 URL 形式展示(注意:不是直接展示图片);另一个是发送一条带图片的微博,但这个有个问题,就是如果发布的新浪微博没有图片,便不会同步成功。当然,你也可以同时创建这两个同步操作,这样对于文本是没有问题的,唯一的困扰就是当发送有图片的新浪微博时,Twitter 上会同时发布两条,一条图片正常展示,另一条图片以 URL 展示。所以这两个同步操作都是凑合着用,不能算做完美。
上周末查了些资料,断断续续鼓捣了两天,终于把这个问题搞定了。首先,引入实现这一功能的主角——Maker。Maker 频道是在 2015 年 6 月上线 IFTTT 的,它使得 IFTTT 可以接收或触发一条外部的网页请求(这条网页请求就是我们实现所有操作的关键,此时可以对接收的网页请求进行修改,然后触发另一个 Maker 来完成接下来的操作),这对于 DIYers 和具有探索(折腾)精神的朋友们来说,无疑是一个强大的功能。但在国内,貌似很少看到 Maker 相关的消息,这里就抛砖引玉,开个头了。
下面就来说一下实现新浪微博完美同步 Twitter 的步骤,总共需要有三个 Recipes,我已经创建好发布了。
1、点击下面的连接,连接 Maker,复制页面右侧显示的 Your key is 下面的字符串;
Maker:https://ifttt.com/maker
2、添加“微博触发 Maker”的 Recipe,将里面 URL 中的 YOUR-MAKER-KEY 替换为上面复制的字符串;
3、添加“Maker 发布 Twitter(仅文字)”的 Recipe,将里面的 Event Name 填写为 makertext2twitter;
4、添加“Maker 发布 Twitter(带图片)”的 Recipe,将里面的 Event Name 填写为 makerpic2twitter;
实现完成,如果只想要结果,到此为止,去同步下试试吧,如果想了解更多,请接着看。
最后,来简单说一下这里对 Maker 的利用。最关键的是在第二部操作中,我们定义了一个 URL 地址(见下面),这个地址不是随便填的,而是我在 GAE 上搭建的一个可以实现文字和带图片微博分开处理的网页程序,它在接收到新浪微博发出的文字或图片信息后,通过判断来触法后面第三或第四部中定义的 Event。
https://maker-dot-feed4kindle.appspot.com/?key=YOUR-MAKER-KEY&value1=<<<{{Text}}>>> &value2=<<<{{PhotoURL}}>>>
原理不算复杂,但由于没搞过网站开发,网页程序都是一边查一边拼的,也不知道搭建在 GAE 上的服务能承受多少用户,如果你有服务器,可以自己搭建一个类似的服务来用。
搭建在 GAE 上的代码见:https://github.com/xhhjin/WeiboMaker,使用时注意根据实际情况修改下 app.yaml 文件中的 application 和 version 字段。
欢迎转载,转载请注明出处:蔓草札记 » IFTTT 实现新浪微博完美同步 Twitter