twitter关闭http基础连接的时间是一拖再拖

老许之前就是在appengine上搭建的一个忘记了名字的api proxy

一直都用的得心应手

但是该来的迟早都要来

所以这两天抽出了时间

又折腾出来了几个api玩玩

这个api是使用了gtap架设的,项目地址可以看这里http://code.google.com/p/gtap/

开发人员对于安装的说明很少,需要自己折腾

其实也不难,在main.py里面的第14和15行天上自己的在twitter申请的app的CONSUMER_KEY和CONSUMER_SECRET就可以了

官方项目页面下面有人说在申请twitter app的时候不需要输入callback的地址

这里是不对的,经我验证,这样申请出来的app,就算你选了是browser,自己也会编程client,而我也用了很长时间才发现这个问题,所以申请的twitter app的时候callback地址就填自己申请的app engine地址就可以,这样再上传服务器端就正常了

因为最新版的gtap-0.4是强制使用https连接,而大家都知道appspot的ssl连接已经被GFW封掉了,只能通过http连接,所以现在还是不能使用的,老许的做法是修改了在android的hosts文件,指定了可用的ip到我的appspot应用,关于这个请自行搜索

这个twip api是用php写出来的,所以有自己空间的各位也可以很轻松的假设自己的twitter api了,项目地址http://code.google.com/p/twip/

前端时间刚刚传出twitter要关闭基础认证的时候,网上出现了一篇很火的假设twip代理的教程,被一众小白热捧,被一众geek臭骂,原因就在于上传文件的时候教程里居然写要把存放oauth认证的access token文件夹目录权限设置为777,这个是很危险的一件事情,使用了这样的api代理,就像把自己的twitter账号编程公用账号一样,稍微懂一点twitter api原理的人都可以随便的使用你的twitter账号

而架设twip代理需要注意的就是修改oauth_config.php和index.php文件里面的参数,oauth_config.php文件里面需要注意的是OAUTH_DIR,这个在主机上的文件夹一定要网络用户不可见,linux主机修改权限700就可以了,还有一种方法是修改.htaccess文件,当然还是推荐第一种方法好一点,简单

index.php文件里面要注意的就是webroot的参数,我一开始折腾了几次不成功就是因为忘记了修改webroot

如果有人想要使用我的这个api,我要告诉你们,我没有买SSL服务,所以我的空间不支持https连接,只能使用http,所以是不安全的,我也不推荐使用这个

写在最后

最后要说的是,自架的api使用oauth认证以后,是需要一个api密码的,几乎所有的教程都说不要使用和twitter账号相同的密码作为api密码,这是因为如果你使用的是别人架设的api,而api密码设定的又和你的twitter账号密码相同,就等于告诉把你的twitter账号和密码告诉了你使用的api的架设者,如果这个api架设者是一个不道德的人,他就会使用你的twitter账号去干坏事,但是如果设定了和twitter密码不同的api密码,则会出现一些问题,老许就发现,在使用手机上的twitter客户端上传图片的时候,会提示用户名密码错误而无法上传图片,所以使用api的各位就要自己权衡一下了