其实这篇文章很没技术含量,基本上抄来的,我只加上点注意事项即可了,顺便补充点资源~~~
文章参考月光,Jose,相关资料参考Google App Engine入门简介、GAE使用视频介绍,下面Google App Engine简称GAE。
本文将介绍如何通过Google App Engine搭建基于Python 2.5的BirdNest环境,建好的BirdNest可以在TwitterFox或twhirl中使用。
另一篇文章使用Google App Engine建立个人代理服务器(图文版),有兴趣的童鞋不妨看看~~~
Google app engine 是什么?
Google app engine 是 Google 提供的一个在线应用程序平台,支持 Python和Java。简单的说是在 Google app engine 上面直接运行用 Python/Java 写的程序,由 Google app engine 提供网络空间和带宽。
什么是Twitter API proxy?
总的说来HTTP请求有两种不同形式,POST和GET(其实还有其它的一些请求,本文简略)。“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 得到的效果是相同的.
环境准备:Google App Engine
先要注册Google App Engine,注册地址 http://appengine.google.com/ ,然后建立一个application,目前第一次使用需要验证用户手机,输入手机号码就收验证码即可,之后,就可以用yourid.appspot.com来访问你的app应用。
目前第一次使用需要验证用户手机,输入手机号码就收验证码即可
填写 Application Identifier (输入你想要的应用程序地址,相应会得到一个 yourid.appspot.com 的域名,记住这个) 和 Application Title (标题)以及勾选同意服务条款,点 Save 即完成创建。
此外,还需要下载安装Google APP Engine的开发环境,注意Python的版本,需要是2.5系列的,不能使用2.6或更高的版本,否则运行会出错。
Google App Engine SDK 下载地址 http://code.google.com/intl/zh-CN/appengine/downloads.html
Python 2.5.4 下载地址 http://www.python.org/download/releases/2.5.4/
关于Google App Engine的详细使用说明请参见这个地址
环境准备:BirdNest
下载birdnest要注意是下载分支branches/gae,别下载主干trunk,否则更新到GAE上也不能用,会报错。可以使用一个SVN工具下载。例如TortoiseSVN等。将其放到一个目录中,进入目录,编辑app.yaml文件,将第一行的application里的参数修改为自己的应用名。
注:derek我打包birdnest下载,免得在安装工具麻烦了!
TortoiseSVN 下载地址:http://tortoisesvn.net/downloads (注意后面的Language packs下载,英文好的童鞋请无视)
TortoiseSVN使用方法:下载安装完毕后,在Google APP Engine安装目录(如我的E:\Google\google_appengine)下新建一个文件夹,随意起个名字(我的justinwayy),右键单击文件夹,在弹出菜单中选择SVN检出,然后在版本库URL中填入Birdnest/gae的url(http://birdnest.googlecode.com/svn/branches/gae/),点击确定,成功检出。
发布应用到Google App Engine
准备好了上面的一切后,就可以发布这个应用到自己的Appspot上了,执行 appcfg.py update 目录名,中间会要求输入Gmail的用户名和密码(输入密码时无反应,事实上密码已经录入了),之后就可以使用了。你创建的API地址应该是yourid.appspot.com/api/ 。

使用BirdNest
在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/ 即可。
注:
- 另外还有就是使用java环境的推土鳖,安装过程与这个类似,这里就不多讲了,只是提供多种方式使用twitter,附上地址1 地址2
- 再附上一网友自制的GAE Twitter API Proxy,有兴趣的也可参考,地址
后记
昨天由于网络问题登不上,我还以为是墙的缘故,后来网友truant告知,现在此方法还是有效地。
如果GAE被GFW勒,所以,直接用yourtwitteraccount@*.appspot.com作为API地址会失效。解决办法是弄个域名绑定到这个项目上,参考文章(开启了Google企业邮箱后才可免费绑定,目前小D我嫌麻烦,所以暂时未弄)
八哥有时候不知道出了什么问题,老是登陆不上去,晚上忙活了半天自己建了个twitter API,都是拜墙所赐,我脾气可也不是好的!!!
好友之间我可以共享此twitter API,有需要请联系!!!!!
最近网络特别不稳定,看来世界上最大的局域网要建成了!!!!!!!!!
最后我代表所有挣扎在“墙”第一线的同志们向“有关部门”问个好:








我来沙发~
有空再弄
没搞懂这个svn工具是做什么用的,我理解好像就是用svn检测出的能保证是最新源代码。直接下载的可能不是最新的。
之前我在gae上架了个api,一直用的好好得,但这两天好像不行了。
svn可以算是个同步工具吧,但我也就用过一次
这两天GAE上的自建API工作还不错,挺正常的
文章很帅,好好学习!
这个应该列为必备教程
很不错的东西哦
曾经用GAE搭过一个翻墙的东西,不过基本没怎么用。总觉得翻的时候容易心情不好。- -
没办法,跟狗作斗争心情能好吗?
貌似有被和谐的危险,好文,赶紧收藏了。
应该没事的,月光也写了篇,他都没被河蟹
话说我就用的Python2.6。哈哈哈哈哈……
看着文章长了点,看来你花了不少功夫写啊!
详细点对新手还是有好处的。
主要是顺便增加点资源,让新手更快掌握GAE这个强大的工具罢了
好复杂啊,折腾过hello world,就删了
其實對這方面的技術我很小白,可是神奇的是,我竟然搭建好了API,哈哈

現在用的 mixero 就是用我搭建的 API ,發推發了這么久,挺好的。對了,這個軟件更新了,支持“臉譜網”了,邀請碼也取消了,哈哈
其实这个很简单的,只是步骤多了些罢了,恭喜
我也试试mixero,真的那么好???
习惯问题吧,当初是因为它对自定义API的支持较好,其实还有很多要完善的地方。平常的发推等操作还是很方便的
哎
,我已经翻得累了,还是教育网,更加伤神呀,隐退隐退
顶风作案啊 我就在用这个
麦田圈里的朋友们发推好像不多啊
的确,还不是一般的少,我带现在也就发了400多条推
习惯了拿来主义,不喜欢折腾代码,收藏~~
飘过…虽然不用Twitter不过学到了Google App Engine,发现自己对google的了解真够少的
我进行到TortoiseSVN 下载 就不知道怎么弄了 因为我看TortoiseSVN没有mac版啊
搭建twitter代理的文件我已在文章中提供下载了,所以不用安装这个工具那么麻烦了。
至于支持SVN下载的工具应该有不少,你可以找找,不一定要这款软件
谢谢了 我自己再研究下 我电脑白痴 看教程看的眼都花了….
我刚刚弄成了,确实不用那么麻烦,就下个gae和upload上传,别的啥都不用安装,按照北风的办法更简单
我搜了下,确实如此,真是郁闷当初写的时候没搜到他的文章
请问 我在我手机上登陆twitter, 我是gphone, 所以我想问问怎么建api 我的twitter号是zszen, 希望加一下 交流
文章里写的很清楚了
我昨天晚上弄了一下
连上了
但是, 提交更新, 总都出错…..
代码没问题, gae被疯了
SBxxw
能收到信息?但不能发信息?
我给你发个私信吧,我搭建的twitter API,看看有没问题
如果还有什么问题,可以留言
你能给我邮箱发信么 不知道普通的php asp能不能搭建
如果那样的话 估计我们国内只能用静态服务器了
还有 我没收到你邮件.
申请一个免费的国外主机搭建,要支持PHP的,这方面你找别人文章看看吧,我没试过
支持https/ssl不?
不支持,而且GAE随时有被封危险
翻过了墙,不会出现登陆不了,GAE只是个中转平台,某些地方可能登陆不了
把站点加入信任,或者添加证书例外试试
你这个在害我们啊,以后App engine被封了怎么办?连免费资源用的都没有了,以后不要这么害人。
我只是想让更多人了解墙外的世界
老师老师,我原先在appspot的api不能用了。。现在您能不能发一个可用的api到我邮箱。。我保证不会乱传给别人。。谢谢了
自己搭的api 手机上用gravity怎么也上不去.. 能不能分享个可以用的(保证自用.) 谢谢! zoudm@163.com
@zoudm 你还是先换个国外邮箱吧,你难道不知道国内邮箱有审查?
Derek,你好,想请教下问题,按照你教程里的步骤都坐下来了,到了最后一步就是要运行appcfg.py,这个文件后面没有update,点开之后中间没有要求输入gmail的账户和密码,然后那个窗口就自动关上了。再试这个yourid.appspot.com/api/还是会出现network eorr,这个是什么原因啊?拜托了,这个是我的邮箱jannlee515@gmail.com,如果可以的话能给我一个可用的API吗?万分感谢^_^
@骑乌龟追夕阳 你文件都没有上传成功 – -
执行 appcfg.py update 目录名,不难的,我的API已经给了多人了,不方便共享了
@derek 还得麻烦你,这样的内容怎么上传啊~~~我是个小白,谢谢啦,非常非常感谢^_^
@骑乌龟追夕阳 把下载好的birdnest将其放到Google APP Engine安装目录一个文件夹中,进入目录,编辑app.yaml文件,将第一行的application里的参数修改为自己的应用名。
然后执行 appcfg.py update 目录名就OK了,基本上就这两步骤麻烦些