六月份我曾总结了一篇同步SNS网站的一个方案,没多久,和谐的和谐,被维护的被维护,文章里列举的网站倒掉的差不多了.经历了十一月饼节之后,虽然Twitter,Facebook等仍在墙外,饭否至今不知去向,但也有一些网站悄悄的重开了,而且还冒出几个新生势力,如新浪微博,9911等.因此有必要更新一下同步这些网站的方案.
注:这篇文章里提到的有些方法来源于互联网的资料,必要时我会给出原链接.同时,这篇文章仍然以Twitter为中心.
另请注意,这篇文章并不是讲怎样上Twitter.
说明:
1.用短信,QQ,Gtalk,MSN更新Twitter:
这只是增加了一个更新Twitter的方法,谈不上什么同步.之前采用饭否来实现,无奈饭否至今没能回家吃饭.好在现在还有Follow5也提供这些功能.
注册Follow5后,绑定手机,QQ,MSN,Gtalk,再绑定Twitter,就可以了.
(其他的微博,如嘀咕,9911,做啥等,虽然也支持这些服务,但要么不全,要么不支持绑定到Twitter.故选择Follow5)
2.将Google Reader,Last.fm歌曲推荐等同步到Twitter:
之前采用Friendfeed的方法,无奈FF被墙,旗下的短网址服务ff.im也不幸遭殃.所以需要更换服务,尽量减少翻墙的痛苦.
好在还有Twitterfeed.虽然这个网站本身也被墙掉了,但它有多种不同的短网址可供选择.现在没被墙掉又比较稳定的当属tinyurl了.
翻墙注册一个Twitterfeed帐号,新建两个feed,绑定到Twitter,并分别用来填写Last.fm的最喜爱歌曲feed和Google Reader推荐feed.
注意,新建feed的第二步有一个Advanced Settings,可以设置抓取频率(建议半小时一次),短网址服务Post Link(选择TinyURL)等,还可以设置前后缀.为了说明内容来源,前缀设置(Post Prefix)还是有必要的.例如我就为Reader分享和Last.fm的feed分别设置了[GR:]和[歌曲推荐:]的前缀.
这样,如果我在使用Foobar或者iTunes+Last.fm Scrobbler听歌的时候,碰见了想要推荐的歌曲,在Last.fm Scrobbler里点一下"喜爱"按钮,Twitter上便会出现形如"[歌曲推荐:]艺术家-歌曲名"的tweet.
3.将豆瓣广播,个人博客等同步到Twitter:
这一点照理来说应该和上一点所用的方法一样,但是不知道为什么,Twitterfeed不能识别豆瓣和我的博客的feeds,而且还有很多其他的国内feeds也不能识别.因此,对于这种情况,只能另想办法.
好在有Yahoopipes.Yahoopipes是一个强大的feed处理工具,用它可以轻松的对feed进行合并,修改等操作.
首先处理豆瓣广播的feed.默认的输出形式是"用户名 内容",用户名完全没必要出现,可以用Yahoopipes删掉.此外也可以加上形如[豆瓣:]的前缀.(当然,下一步在Twitterfeed里添加前缀也可以.)
流程图如下:
Regex操作里,第一项"in item.title replace 豆瓣用户名(此例为seon) with text" 表示将feed标题里的豆瓣用户名用空白代替(在text框里点一下,什么都不填即可),即达成了删掉用户名的目的.
第二项"in item.title replace (.*) with [豆瓣:]$1"表示在feed标题里加上[豆瓣:]的前缀.这一点也可以在下一步的Twiterfeed里完成.
Save之后点击"Run Pipes",既可以看到处理后的feed输出了.在输出结果页里复制"Get an RSS"链接地址,就可以让Twitterfeed识别了.
注意,为了避免豆瓣feed的标题和内容重复,在Twitterfeed的Advanced Settings里,Post Content 应选为"title only".
博客feed也可以按照类似的方法处理.与豆瓣广播feed不同的是,它的标题和内容不会重复,因此不妨在Post Content 里选择title & description.这样不仅可以在twitter里显示博文的标题,还可以显示一些文章内容.
4.Twitter与Friendfeed,Facebook的同步:
虽然Friendfeed的短网址被墙,使它的利用价值大大降低.但是多它一个也不多.
方法和第一版一样,参照此文.
5.Twitter同步到新浪微博,9911,嘀咕/火兔以及人人网等国内SNS服务
利用Google App Engine.(有可能不稳定)
同步到新浪微博可以采用深柳堂这篇文章所提到的方法,同时,他还详细讲解了怎样使用Google App Engine建立应用,很值得一看.
注意,新浪登录名或许不同于您的新浪微博昵称,是邮箱登陆的就填邮箱.
同步到9911与之类似,不过把同步到新浪微博所用的app.yaml文件源码换成这篇文章提到的源码即可.
注意源码第96行的9911username指的是9911网站里的"我的微博客"链接里(形如http://www.9911.com/1303572354?p=profile)的那一串数字(此例为1303572354)或者英文,并非你的登录邮箱.
同步到嘀咕/火兔可以参考月光博客的这篇文章.虽然他的目的是同步到新浪微博,但鉴于深柳堂的方法更简单,所以这里只借鉴同步到嘀咕/火兔的方法.
注:如果不是特别在意源码是否是最新版,可以不用月光所提到的"使用TortoiseSVN检出这个SVN地址",直接把那个SVN地址里面的文件链接另存为即可.
cron.yaml文件里是计划任务设置,默认是100分钟一次,改为1分钟一次可以让同步速度更快.
接下来就可以利用嘀咕里面的嘀神插件对人人网,山寨开心网进行同步了.可惜嘀神现在不支持正版开心网,而9911,Follow5虽然支持正版开心网,但是并不转发来自其他网站的内容.换言之,只有你亲自在9911和Follow5上发布的消息才会转发到开心网上.
如果有哪位同学知道如何从Twitter同步到开心网,还请留言告知.感激不尽.
6.Twitter同步到HelloTXT和Ping.fm
由于HelloTXT与Ping.fm上集成了大量的SNS服务(例如图中所示的Yahoo Meme),因此同步到这两个网站也是很有意义的.
(11月9日更新:同步Twitter到Yahoo Meme还有一个更简单的办法:登录这个网址即可,注意Twitter认证的的时候需要翻墙)
如果直接用Twitter的RSS feed,每条消息前会有用户名的存在.现在也可以利用Yahoopipes对其进行修改.修改方法参照对豆瓣Feed的处理.
也可以按照月光博客这篇文章提到的方法来,用Google App Engine进行修改.只不过要注意,这篇文章里提到的SVN地址实际上用来更新嘀咕的文件,真正的文件在这里下载.
接下来就可以用经Yahoopipes修改过的feed通过Twitterfeed来对HelloTXT与Ping.fm进行绑定更新了.注意绑定时需要API key.
Note:截至09年11月8日, Twitter,Facebook,Friendfeed,Twitterfeed,HelloTXT,Ping.fm,Yahoo Meme 仍在墙外.