一.扫盲

1.什么是Twitter API proxy?

总的说来HTTP请求有两种不同形式,POSTGET (其实还有其它的一些请求,本文简略)。“Twitter REST API”也是通过这两种形式来调用的。

那么我们通过第三方应用或者第三方编程语言来调用Twitter REST API是不是和通常我们使用的代理相类似.说到这里Twitter API proxy不言而喻!

简单地说,就是把客户端发过来的POST和GET请求转发到原始API地址,并将返回的http header和内容返回给客户端,实现了原始twitter API的所有功能。而对客户端来说,除了提供一个可供配置的API地址选项,不需要做任何代码上的更改.(此段话为twip作者介绍,简单明了)

下面举个场景,通常你要查看某上推友的信息最常用方法是在twitter.com上直接查看,其实调用的是下面请求:
GET http://twitter.com/statuses/show/twitterapi.json

如果你通过第三方应用或者第三方编程调用就是另外的一种请求方法了,假设你在http://none.com/api架设了一个Twitter API proxy,那么你可以用以下方式调用相同的API:

GET http://none.com/api/status/show/twitterapi.json 得到的效果是相同的.

2.Google app engine 是什么?

Google app engine 是 Google 提供的一个在线应用程序平台,支持 Python和Java。简单的说是在 Google app engine 上面直接运行用 Python/Java 写的程序,由 Google app engine 提供网络空间和带宽。

二.目标

ok,我们下一步就是要在Google app engine 上搭建属于我们自己的twitter api proxy ,不会编程怎么办呢?没关系,互联网时代,开源的东东太多了,今天我们用到的一部分源代码就来自Birdnes http://code.google.com/p/birdnest/ ),一个相当出名的Twitter api proxy,来自google code上的一个开源项目,运行它需要有支持python语言的空间,google app engine支持python,我们就以google app engine来介绍架设方法,所以说嘛,google是一个相当不错的东西。

三.实现

1.环境准备:Google App Engine

先要注册Google App Engine,注册地址 http://appengine.google.com/ ,然后建立一个application

目前第一次使用需要验证用户手机,输入手机号码就收验证码即可(现在好像不需要手机验证了。)

填写 Application Identifier (输入你想要的应用程序地址,相应会得到一个 yourid.appspot.com 的域名,记住这个。) 和 Application Title (标题,随意啦)以及勾选同意服务条款,点 Save 即完成创建。

此外,还需要下载安装Google APP Engine 的开发环境,注意Python版本 ,需要是2.5系列的,不能使用2.6或更高的版本,否则运行会出错。(在测试过程中确实发现最新的3.1和2.6版本都无法正常运行!)

Google App Engine SDK 下载地址 http://code.google.com/intl/zh-CN/appengine/downloads.html

Python 2.5.4 下载地址 http://www.javaeye.com/news/4633

都很简单,一路Next 安装即可。

2.环境准备:Birdnest

下载birdnest要注意是下载分支branches/gae 别下载主干trunk ,否则更新到GAE上也不能用,会报错。这里需要用到一个SVN工具下载,例如:TortoiseSVN

TortoiseSVN 下载地址:http://tortoisesvn.net/downloads (注意后面的Language packs下载,英文好的童鞋请无视)

TortoiseSVN使用方法:下载安装完毕后,在Google APP Engine 安装目录(如我的E:\Google\google_appengine)下新建一个文件夹 ,随意起个名字(我的justinwayy),右键单击文件夹 ,在弹出菜单中选择SVN检出 ,然后在版本库URL中填入Birdnest/gae的urlhttp://birdnest.googlecode.com/svn/branches/gae/ ),点击确定,成功检出。

进入检出的文件夹,用记事本打开一个叫app.yaml文件,将第一行的application后的参数nest修改为自己的应用名(也就是之前提到的yourid),点击保存,ok。

3.发布应用到GAE

准备好了上面的一切后,就可以发布这个应用到自己的Appspot上了,打开命令提示符(点击 开始>运行>cmd),进入 X:\Google\google_appengine 目录 (输入 cd X:\Google\google_appengine\ 即可),输入以下命令行:appcfg.py update 目录名 (我的justinwayy),中间会要求输入Gmail的用户名密码 ,之后就可以使用了。你创建的API地址应该是yourid.appspot.com/api/

四.使用

到此为止,我们已经成功搭建起了专属于自己的Twitter API Proxy,就是yourid.appspot.com,可用于一切允许自定义API功能的客户端上,快去试试吧。
twhirl 里的使用方法是,打开账号管理Accounts manager,选择laconi.ca账户类型,输入:[你的twitter帐号名]@yourid.appspot.com,密码为Twitter密码,即可使用。
twitterfox 里的使用方法是,打开 C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\ 随机信息 .default\extensions\twitternotifier@naan.net\components目录,编辑 nsTwitterFox.js文件,找不到的话直接在Documents and Settings中搜索nsTwitterFox.js文件,编辑该文件的38行,将其修改为 var TWITTER_API_URL = http://yourid.appspot.com/api/ 即可。

 

转贴!!!

版权声明:本文为dm521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dm521/archive/2010/04/02/1703242.html