2010年5月18日星期二

[GFW BLOG] 随时随地免翻墙通过API OAuth验证方式用twitter

来源:http://www.00jijiao.com/712.html

为了安全原因,twitter将在不久的将来彻底停止使用HTTP Basic Auth这种验证方式,全面改用更为安全的OAuth方式,也就是说,理论上每次通过api来访问twitter,都得先跳转到twitter官方登陆以 后在callback到你的客户端twitter软件上,这就造成了一个问题,墙内用手机或者其他twitter客户端的话,每次都得翻墙先登陆一下,这 可就麻烦了.以前的普通api验证将全面失效.

群众的力量是强大的,在不久之后就有人写出了支持OAuth验证方式的api.还有好多种方式,为此我选了几个比较热门的试了一下.一开始我用的是 twip但是发现要用这个api,必须找一个支持php的空间,而且还必须满足某些权限的需求.这就比较麻烦了.不可能放在自己空间里.那天空间被墙了就 不值得了.后来无意间有爱好者修改了gtap,使它支持了OAuth的验证方式,这个就相当爽了.哈哈.更重要的是,它是基于google app engine 也就是大名鼎鼎的GAE制作的.api放置空间的问题就很容易得到解决了,下面就说说搭建自己的OAuth验证方式API的方法.

首先自然要先注册一个GAE的账号,关于如何注册,应该来说还是比较简单的.相关文章也很多,可以自己google.我这里贴一个链接,当然,这一切的前提你得拥有一个google账号,步骤当中需要用手机接收一个验证码,可以放心填写手机号码,不产生费用

http://imnerd.org/apply-gae.html

注册好以后,下来就是搭建你的GAE上传环境了,搭建的话,著名的月光博客有一段描述,我就不重复了,给链接地址

http://www.williamlong.info/archives/1956.html

这里要注意一下,下半段讲的是关于BirdNest,这个是基于base auth方式的,可以不必理会.还有上传修改好的程序到GAE的话,google SDK安装好以后会带一个叫GoogleAppEngineLauncher,不需要手动去敲命令,直接用那个工具上传你的代码即可

准备工作做好以后,下来就是下载我们的主角gtap修改版,下载地址如下

http://code.google.com/p/gtap/issues/detail?id=9

注意看一下,最新的修改版在8楼,作者又更新了一点小bug,下载下来以后,你要做的事情是先把代码放着,这个时候你需要翻墙了.登陆twitter去申请app key

登陆Twitter程序中心注册一个新程序,注册的时候 Application Type选"Browser",Callback URL填入填写能访问到"callback.php"文件的完整网址,我们这里用的gtap callback地址是"https://xxx.appspot.com/oauth
/twitter/callback",Default Access type选"Read & Write"。注册完成后系统将自动分配给你"CONSUMER_KEY"和"CONSUMER_SECRET"

下一步就是打开下载下来的gtap文件当中的oauth.py,推荐用ultra edit打开,找到其中的 OAUTH_APP_SETTINGS = … 下面有两行'consumer_key': 和 'consumer_secret': 把你刚刚申请到的两个字符串填到里面去,保存退出

下一步打开app.yaml,修改你的application: 第一行,后面填上你GAE的app name

做好这些准备工作以后,你就可以正式上传你的gtap代码到GAE了.哈哈,用之前提到的GoogleAppEngineLaunche提交代码

上传完成以后,工作就完成了大半.哈哈然后就是访问访问https://xxx.appspot.com/oauth/twitter/login 点注册(这个时候需要翻墙来登陆一下twitter,完成之后就callback回去),完成后会显示一个key,你可以在gtap下面修改你的key, 其实也就是你的api密码,可以和你的twitter账户密码不相同,然后就OK啦 哈哈

最后一步就是在你的客户端程序当中,填入你的api地址 https://xxx.appspot.com/gtap_oauth/,用户名随意,密码就是你最后填入的那个key 注意这里是https,一开始我忽略了,只能看推,不能发,后来改成https就好了.

enjoy ; )

������������

补充一下,我们常用的twitter客户端 chrome下最好用的插件 chrowety ,iphone当中最好用的我觉得是TwitBird,有免费版,功能貌似一个不少.可能有广告吧.我买的是pro版,哈哈.还有就是塞班系统下比较有名 的Gravity,都是支持api的比较好的客户端





--
Posted By GFW BLOG 功夫网 to GFW BLOG at 5/18/2010 08:35:00 AM

--
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、翻墙利器"赛风"(Psiphon)代理新网址:http://xinshenbuning.net/。3、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。
停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com

没有评论:

发表评论