用GAE同步twitter到人人网状态之二
几个月前曾经做过一个同步twitter到人人网的脚本,现在twitter正式停止了对Basic Auth的支持,这个脚本已经失效了。之后我发现了GAE上已经有了一个twitter2renren服务,但好像也是失效的。我从rse43这里得到了代码,经过一些改动,就成了用GAE同步twitter到人人网状态之二。因为改动过多,就不将代码提交回rse43那里了。
更新记录
2010-12-1: 尽情的鄙视我吧……又一个typo,现已修正。
2010-11-27: 原来的判定RT的条件是个笔误,现已修正。
2010-9-16: 重大bug修正。twitter-fetcher.py 30行,create callback的方式有问题,导致所有的tweet都被同步到最后一个帐号上。不过现在还是不明白原来的写法为什么有问题。
2010-9-15: 首发。
项目主页
http://p.ream.at/projects/twitter2renren
下载
twitter2renren演示
twitter2renren-dev支持多人使用,登录需要Twitter OAuth,请自备必要工具。
twitter2renren-dev通过人人网手机版更新状态。手机版给每个用户分配了一个收藏链接,只要这个链接正确,就不用输入用户名密码了。所以有两种填写人人网帐号的方法:一是空出bookmark项,填用户名密码,由twitter2renren-dev自动获取收藏链接;二是自己登录人人网手机版,然后将登录后转到的地址(地址栏里很长很长的那个)直接填入bookmark项,该项填写之后twitter2renren-dev不再通过用户名密码获取收藏链接,所以选填此项时务必要填对。
UI太丑,谁有相关技能,请帮我画个UI吧。
今天发现了这个《尝试用urllib2和PyXMPP同步Twitter和校内状态》,看来更新人人网状态又多了一种XMPP协议的方法,不知道跟人人网手机版相比哪个稳定一点——用手机人人网更新简直就是看RP,经常出现大规模发布失败的情况。不过XMPP协议的方法需要用户名密码,对用户来说还是人人网手机版友好一些。
28 Responses
反馈一个问题:现在Twitter强制使用被墙的t.co缩短推文里的链接,同步到人人之后墙内的朋友打不开分享的链接。能不能添加复原链接地址的功能?
Reply
自己动手得了,反正这东西现在需要反向代理配合,还不如不放在GAE上。
Reply
我目前正在用的就是 GAE 上的 http://twitter2renren-dev.appspot.com/ ,感觉挺好的。只是t.co的问题。
Reply
这个是我架的,后面还有一个反向代理保证它能工作,因为我也用这个。
Reply
3月16号开始,架设的就停止了工作,查看日志全部是404.于是重新上传,一切都开始正常运行,但是返回200获得的都是0KB的数据,是twitter那边出什么问题了吗?
Reply
那个200是renren-worker或者twitter-fetcher的HTTP返回值吧……凡是正常调用都返回200,数据0kb。但是正常调用不代表成功的从twitter获得了数据或者成功同步到renren了,log里面会写出了啥问题。
这个东西现在工作正常的情况很罕见,主要是因为GAE的大部分IP都被GFW封了。
Reply
恩,200是返回值……我以为GAE服务器在国外的话,就不受GFW影响呢!
Reply
GFW的影响是双向的——GFW封锁GAE后,GAE的服务器无法与中国境内服务器通讯,中国境内无法访问GAE,GAE自然也无法访问中国境内的服务器。
Reply
不是吧 这也太坑爹了- - 难道就这样失效了么
Reply
用这个方法可以同步到follow5吗?求详解
Reply
蛮好的,搭建使用成功
不过希望大大你也能用个用PyXMPP更新的
感觉代码会清减很多的
我想改成换用PyXMPP的,源代码里哪几个模块可以去掉呢,是renren-*那几个吗
Reply
renren-authenticate基本可以撤了,XMPP只能用用户名密码验证。
renren-worker要换成用XMPP的,renren-task-generator里的接口也改一下。
Reply
[...] 这里的源码来自博客《梦:如此短暂》,这里提供一个副本,挂在DBank,不过这玩意需要注册挺麻烦的。链接地址在这里。 下载到源码后解压,找到根目录下的app.yaml文件,打开编辑(据说最好不要用记事本,另外找个文本编辑的工具,可能记事本编辑会出错): 将上面标注出来的黄色部分改成上面的GAE应用的名称,即你填的identifer名称,保存即可。其他文件一般不需要做改动。 然后开始运行appcfg工具,win7下的话要用管理员身份运行cmd,然后用字符命令”appcfg update 解压后的twitter2renren文件夹的本地地址”,如: 回车开启工具后,会提示输入google账号即邮件地址,并要输入密码,均成功后更新过程都会自动完成,然后提示更新成功。 至此,twitter2renren功能已经开始在GAE服务器上正常运行了。但输入主页地址personal-twitter2renren.appspot.com后,会自动跳转到如下的页面: 这里需要consumer key和consumer secret,此时需要做下面最后一步内容。 [...]
Cannot get bookmark via username & password, please go back and fill in the bookmark manully.
最后一步人人网设置不成功啊,这里的书签是指什么?
Reply
貌似可以了,是chrome的原因,换个浏览器就可以了,汗
Reply
twitter2renren.rar twitter2renren.zip
您访问的页面不存在或已被删除。
5555555~~~
Reply
上个星期丢了数据,恢复的时候忘了这个了。已经恢复了。
Reply
嗯嗯!
多谢~
rar文件有了,
不过zip还没有。
Reply
在GAE上,人人模拟登陆似乎不能用了
Reply
模拟登录没问题,问题是GAE的部分IP被墙了。
Reply
用您的代码,费了半天劲,总算弄好了,感谢!
话说之前我为了节约GAE的应用数量,把这个和williamlong的那个程序放到了一个应用里,版本号不同,结果试了一晚上都不行
之后又另用了一个应用,总算好了
Reply
我传到GAE上以后打开需要输入custom key,需要自己建一个twitter的app是吧,建的那callback url怎么填啊?
Reply
@颖风, 是的。callback可以填http://<appname>.appspot.com/oauth-callback。也可以乱填,程序在获取OAuth token的时候会重新指定callback。
Reply
@WindyWinter, 感觉还是有点问题,用用户名密码说获取不到书签,直接输书签又没啥反应
Reply
@颖风, 直接输书签不会有什么反应的,因为只能假定用户输入的书签是对的,无从验证。把Enable Sync打勾就开始正常同步了,如果没有同步最后一条tweet,那就需要查log了。
Reply
貌似昨天起,GAE上模拟登录手机版人人就会直接返回用户名密码错误,即使密码是正确的也会提示错误,在本地测试登录就不会有问题,请问这怎么解决呢?
Reply
@Flame, 未发现此种状况,直接用bookmark就可以了,不用登录。
Reply
mark下。。之前几天搭了个用GAE搭了个api,终于爽爽得开始twitter客户端生涯了
Reply
Top Seven
Recent Comments
Categories
Blogroll
Login
Sponsor