我很早就开始使用Ping.fm和Hellotxt的同步功能,这两个服务都是微博客的分发平台,用户通过将自己的不同的微博客账号或者社会化网络帐号绑定在Ping.FM和HelloTXT上,便可以通过这个平台同步发布信息到各类微博客上和社交网络上。
不过,我在使用这两个服务的时候产生了一些困惑,Ping.fm和Hellotxt的本质在于平台化,将自己当做一个发布平台,可以将信息同步出去,但这并不是真正的社会化网络设计,因为用户只能发布,无法得到反馈,信息交流也不方便,是一个典型的单向信息流模式。
因此,我认为真正的社会化网络传播模式应该是,将信息从Twitter传送到Ping.fm或Hellotxt,然后再由Ping.fm和Hellotxt同步信息出去,而用户的的反馈可以在Twitter上实时获得。
但是由于利益的关系,Ping.fm和Hellotxt都不提供接收Twitter信息的功能,只提供发布信息到Twitter的功能,因此,我就自己动手,将前段日子写的那个基于GAE的Twitter同步程序增加支持从Twitter同步信息到Ping.fm和Hellotxt的功能,也就是说,在Twitter发布的信息,可以自动同步到Ping.fm和Hellotxt,然后再由这两个服务传播到更多的社会化网络中。
整个系统的流程图如下所示:
这个程序的使用方法和微博客同步有些不同,Ping.fm和Hellotxt的架构和功能类似,其API调用并不是使用用户名和密码调用,而是使用developer API key和user application key来实现认证,不会出现用户名和密码,因此也较为安全,这里介绍一下各个key的获取方法。
Ping.fm的user application key可以在这个地址 http://ping.fm/key/ 获取。
Ping.fm的API Key可以在这里 http://ping.fm/developers/request/ 创建。
Hellotxt的user_key在这里获取 http://hellotxt.com/settings/api 获取。
Hellotxt的application key在这里 http://hellotxt.com/api/dev 创建。
每个人的key都不同,自己的key用来更新自己的帐号,通常自己使用的话直接申请即可得到。
Ping.fm和Hellotxt两者的功能重合度相当高,不必两个服务都使用,只要使用其中一个服务即可,Ping.fm支持同步37个服务,Hellotxt支持59项服务,不过Hellotxt支持的很多服务同步都有些问题,而Ping.fm支持各个IM的状态更新是Hellotxt所没有的。
应用的安装部署方法
下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名,接着,修改twitter.py文件的最后一行,将自己的Twitter用户名填入,修改 ret = send_pingfm_msgs("api_key","user_app_key",text) 或 ret = send_hellotxt_msgs("user_key","app_key",text) 里的key值,不需要同步的服务请使用#号注释掉,cron.yaml文件里是计划任务设置,然后就可以按照此文的方法进行发布,执行 appcfg.py update 目录名,使用Gmail帐号和密码,就可以发布了。
发布之后,GAE就可以定时执行twitter.py程序,由于定时执行可以设置最短为1分钟,因此同步速度很快,基本可以实现即时自动同步的效果。
注意事项
Ping.fm和Hellotxt需要翻墙访问。使用前需要先申请key。
如果在Ping.fm或Hellotxt中绑定了Twitter帐号,需要将Ping.fm和Hellotxt中关联的Twitter帐号删除,否则会造成死循环。