IFTTT实现新浪微博完美同步Twitter
如果你看到这篇文章,那么对IFTTT就应该不会陌生。IFTTT于2011年5月在美国上线,是“if this then that”的缩写,具体到本文要实现的,this就是你在新浪微博发了一条消息,that就是Twitter上同步发一条相同的消息,也即当你在网站A上进行了一项操作,那么就触法网站B自动完成另一个指定的操作。IFTTT利用各种网站的开发API,让网络操作能够引起连锁反应,并且通过对不同信息进行的交叉串联,让互联网的使用更加方便、智能。
新浪微博频道在2014年10月正式上线IFTTT,有两个触发器,一个是每新发布一个微博,另一个是发布指定标签的微博。如果要求不高,要实现微博和Twitter的同步并不困难,因为在Twitter实现同步的操作里面有两条可以选择:一个是发送一条纯文字的消息,图片以URL形式展示(注意:不是直接展示图片);另一个是发送一条带图片的微博,但这个有个问题,就是如果发布的新浪微博没有图片,便不会同步成功。当然,你也可以同时创建这两个同步操作,这样对于文本是没有问题的,唯一的困扰就是当发送有图片的新浪微博时,Twitter上会同时发布两条,一条图片正常展示,另一条图片以URL展示。所以这两个同步操作都是凑合着用,不能算做完美。
Maker-Channel上周末查了些资料,断断续续鼓捣了两天,终于把这个问题搞定了。首先,引入实现这一功能的主角——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上的服务能承受多少用户,如果你有服务器,可以自己搭建一个类似的服务来用。