Google App Engine搭建Twitter API Proxy教程(图文版)

其实这篇文章很没技术含量,基本上抄来的,我只加上点注意事项即可了,顺便补充点资源~~~

文章参考月光Jose,相关资料参考Google App Engine入门简介GAE使用视频介绍,下面Google App Engine简称GAE。

本文将介绍如何通过Google App Engine搭建基于Python 2.5的BirdNest环境,建好的BirdNest可以在TwitterFox或twhirl中使用。

另一篇文章使用Google App Engine建立个人代理服务器(图文版),有兴趣的童鞋不妨看看~~~

Photobucket

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应用。

Photobucket

目前第一次使用需要验证用户手机,输入手机号码就收验证码即可

Photobucket

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

Photobucket

此外,还需要下载安装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下载,免得在安装工具麻烦了!

Photobucket

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/),点击确定,成功检出。

发布应用到Google App Engine

准备好了上面的一切后,就可以发布这个应用到自己的Appspot上了,执行 appcfg.py update 目录名,中间会要求输入Gmail的用户名和密码(输入密码时无反应,事实上密码已经录入了),之后就可以使用了。你创建的API地址应该是yourid.appspot.com/api/
Photobucket

使用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,有需要请联系!!!!!

最近网络特别不稳定,看来世界上最大的局域网要建成了!!!!!!!!!

最后我代表所有挣扎在“墙”第一线的同志们向“有关部门”问个好:

Photobucket



» 转载请注明来源:Derek's Blog » 《Google App Engine搭建Twitter API Proxy教程(图文版)》
» 本文链接地址:http://www.derekblog.com/2009/12/04/google-app-engine/

» 收藏本文:Delicious / Digg / QQ书签 / 百度收藏 / Google收藏 / 收藏到鲜果
» 订阅本博:RSS订阅 ( Google Reader / 有道 / QQ邮箱 / 鲜果 / 豆瓣 / 抓虾 )

相关文章 Related posts

Leave a comment

54 Comments.

  1. 没搞懂这个svn工具是做什么用的,我理解好像就是用svn检测出的能保证是最新源代码。直接下载的可能不是最新的。
    之前我在gae上架了个api,一直用的好好得,但这两天好像不行了。

  2. 曾经用GAE搭过一个翻墙的东西,不过基本没怎么用。总觉得翻的时候容易心情不好。- -

  3. 貌似有被和谐的危险,好文,赶紧收藏了。 :cool:

  4. 话说我就用的Python2.6。哈哈哈哈哈……
    看着文章长了点,看来你花了不少功夫写啊!
    详细点对新手还是有好处的。

  5. 好复杂啊,折腾过hello world,就删了

  6. 其實對這方面的技術我很小白,可是神奇的是,我竟然搭建好了API,哈哈 :grin: :grin:
    現在用的 mixero 就是用我搭建的 API ,發推發了這么久,挺好的。對了,這個軟件更新了,支持“臉譜網”了,邀請碼也取消了,哈哈

  7. :sad: ,我已经翻得累了,还是教育网,更加伤神呀,隐退隐退

  8. 顶风作案啊 我就在用这个

  9. 麦田圈里的朋友们发推好像不多啊

  10. 习惯了拿来主义,不喜欢折腾代码,收藏~~ :razz: :razz:

  11. 飘过…虽然不用Twitter不过学到了Google App Engine,发现自己对google的了解真够少的

  12. :?: 想问下 os系统可以用吗?
    我进行到TortoiseSVN 下载 就不知道怎么弄了 因为我看TortoiseSVN没有mac版啊
    :cry: :cry:

  13. 我刚刚弄成了,确实不用那么麻烦,就下个gae和upload上传,别的啥都不用安装,按照北风的办法更简单

  14. 请问 我在我手机上登陆twitter, 我是gphone, 所以我想问问怎么建api 我的twitter号是zszen, 希望加一下 交流

  15. :sad: 我还是跑跑用SSH好咯,有些事情… 悠着点好咯

  16. 你这个在害我们啊,以后App engine被封了怎么办?连免费资源用的都没有了,以后不要这么害人。

  17. 老师老师,我原先在appspot的api不能用了。。现在您能不能发一个可用的api到我邮箱。。我保证不会乱传给别人。。谢谢了

  18. 自己搭的api 手机上用gravity怎么也上不去.. 能不能分享个可以用的(保证自用.) 谢谢! zoudm@163.com

  19. Derek,你好,想请教下问题,按照你教程里的步骤都坐下来了,到了最后一步就是要运行appcfg.py,这个文件后面没有update,点开之后中间没有要求输入gmail的账户和密码,然后那个窗口就自动关上了。再试这个yourid.appspot.com/api/还是会出现network eorr,这个是什么原因啊?拜托了,这个是我的邮箱jannlee515@gmail.com,如果可以的话能给我一个可用的API吗?万分感谢^_^

Leave a Reply


[ Ctrl + Enter ]