尝试了很多推特同步到国内其他围脖的方法,早期的时候同步效果还不错,现在日渐恶化,同步多多少少有点问题,特别是同步到新浪围脖,早期使用月光的程序还不错,后来就不能用了,似乎是新浪的政策原因吧。再后来就找到了这个TwitterSinaSync程序,是通过OAuth的方式同步到新浪的,这样认证的方式应该是比较容易同步到新浪围脖的。不过实际效果也并不理想,原因有很多,我也就一直用这个程序凑合着用,实在不行再回新浪围脖更新几条。
推特同步到新浪围脖的缺点确实很多:1,推特应该是不怎么又敏感词的,但同步到新浪就不同了,丢失也纯属正常;2,GAE本身就有被block的情况,所以有些时候可能不能使用;3,即便设置的同步时间再短,你还是有推会丢失,除了敏感词外可能新浪本身的限制;4,最近竟然还发现有重复发送的情况,一般是重复一次,会有两条相同,原因未知,可能和新浪启用weibo.com域名有关。反正,我也算能忍受这些缺点,因为新浪围脖不是我的主战场。也许,由新浪围脖作为主推然后同步到推特应该是个更佳的选择,只是我不喜欢。
本文基本上就是介绍TwitterSinaSync使用方法的文字了,因为网上我也并没有怎么找到教程,README里写的很清楚,但多少还是太简单了一些,所以就算是一个高级一些的教程吧。顺便也算是记录一下这个程序,因为我一般弄完以后就丢了,后面甚至连名字都记不起来,再用的时候就又要满世界的找了。
步骤:
1、下载TwitterSinaSync
2、去Google app engine创建一个程序,名字随你了。刚为了完成这个教程,所以抢注了twittersinasync这个名字,等教程写完大家也许都可以访问了,这样应该大家都可以用了,希望如此吧。
3、解压缩下载回来的TwitterSinaSync,将app.yaml.template更名为app.yaml,并用记事本打开这个文件将your-gae-application-id修改为你的ID,比如我刚从注册的twittersinasync。对cron.yaml文件进行适当修改,这是任务计划时间文件,里边的every 1 minutes修改为你自己期望的时间,1分钟还是挺频繁的,我修改成了every 10 minutes,也算是减轻GAE的负担,具体看后期的使用情况吧,若资源消耗太多可能还会进一步延长时间。
4、注册新浪围脖key。去http://open.t.sina.com.cn/ 的我的应用中,创建应用,填写的内容大概是这样一个情况
由于我们的应用是得不到认证的,所以应用名称和应用地址实际上没有任何用处,所以这些基本上都是随便填填,点创建后得到的App Key和App Secret才是最为关键的。
5、修改properties.ini.template文件名为properties.ini,并用记事本打开后修改CONSUMER_KEY和CONSUMER_SECRET,正好对应上图两串字符。
6、修改完毕,将这个程序上传到GAE就算大功告成了。当然你需要装Google appengine,然后使用命令上传:appcfg.py update TwitterSinaSync。其中TwitterSinaSync为你自己的文件夹,在C:\Program Files\Google\google_appengine目录下操作之。
创建完毕,访问http://twittersinasync.appspot.com/ (可能会被墙,请FQ访问)即可看到效果
7、这个时候点击创建邀请,即可得到一个邀请链接,比如:http://twittersinasync.appspot.com/register?invitation_code=xpjsg2uk,当然,这也是你在你作为管理员登录的情况下,不然普通用户即便登录也是无法创建的。把这个链接分享给需要注册的朋友,当然,自己用的话就自己点开这个链接了,得到如下页面。
注意:上图中的授权码是我后来所得到的,不是这个时候输入的,而是应该先进入下一步,即获得新浪围脖授权码。
8、点击第一步,获得新浪围脖授权码。
点开后就跳转到这个页面了,输入你需要管理的帐号和密码,然后授权,就可以获得授权码了。
9、回到第7步中的页面将新浪授权码和你的twitter ID填入并确认。
好了,至此就算是全部结束了,以后你的推特就可以同步到新浪围脖了。
BTW:不知道为什么,最新下载的源文件似乎有问题,点邀请后无法获得链接,有错误,最后我把这一句handler.response.status = '200 OK' 给注释掉了,基本上可以正常使用了。
最后,若是你觉得搭建这么一个环境很麻烦,原则上应该也可以使用我提供的邀请码,这样你只需要同你的新浪围脖绑定,那么就可以享受十分钟一次的同步。先送上十个邀请链接吧,谁用了请留言,以让大家了解被使用的情况,若用完我看情况再提供吧。
http://twittersinasync.appspot.com/register?invitation_code=qclwg9sq
http://twittersinasync.appspot.com/register?invitation_code=lk5vyz3r
http://twittersinasync.appspot.com/register?invitation_code=a8fn14rm
http://twittersinasync.appspot.com/register?invitation_code=n1jc8ko3
http://twittersinasync.appspot.com/register?invitation_code=rmc6ncl5
http://twittersinasync.appspot.com/register?invitation_code=c1clion6
http://twittersinasync.appspot.com/register?invitation_code=6mln9g65
http://twittersinasync.appspot.com/register?invitation_code=2zbfyeu6
http://twittersinasync.appspot.com/register?invitation_code=xhd47zta
http://twittersinasync.appspot.com/register?invitation_code=59415l3s
当然,我也并没有完全的尝试,请大家来测试这方法是否可行吧。我以前架设的自己用的没有问题,可以使用,就是有上述的不理想情况,不过已经算很好了。好吧,欢迎给我反馈信息,有问题也欢迎提出。
RoverTang@罗孚传说
E-mail:65985498[at]qq.com
微博/微信:rovertang