我唔喺卖四仔嘎~
速度就是一切!Gae上快速搭建推特API简易教程
你在为怎么上推特烦恼吗?你想个性化自己的推特吗?想解决oauth问题?找不到免费空间?免费空间太慢?空间ping值高?twip搭建不成功?不支持ssl?来吧,这里将给你一个简单的方法!
先看看gae的api的ping值你才决定是否继续搭建
Gravity测试更新一次(就是200条tweet)用了400K左右。
Https连接Gae的话稳定性应该还是有保证的。
这里提供一个api做大家试试吧 http://oauthapi.appspot.com/
想用twip搭建oauth的情看这里《用twip搭建带oauth的twitter(推特)api proxy》
(注:本文只是探讨更改推特上fromXXX的个性化技术,不想涉及爬墙等问题,对大家的api使用方法引发等等问题不负任何责任)
GAE上搭建API的准备
①在这里下载搭建api需要的源代码GTAP GTAP 0.3.1 下载 (from http://code.google.com/p/gtap/downloads/list)
②在这里下载搭建oauth需要的源代码 oauth下载 (from http://code.google.com/p/gtap/issues/detail?id=9)
③这里下载上传到GAE的工具SDupload Sdupload下载 (from http://code.google.com/p/sdapp/downloads/list) 或者我这里提供一个已经打包好的文件 uushare下载 (不过大家还是可以多看看上面的主页会有更新版的,通常有bug fix)
GAE 上搭建API的过程
一,下载下来的文件要做这样的修改
①把下载好的Gtap 0.3.1 解压。假设放到gtap文件夹。
②把oauth源码也解压到gtap文件夹(中间会覆盖app.yaml 。如果下载我打包好的直接无视①和②)
③把Consumer key 和 Consumer secret填到oauth.py (在google code上下载最新的只要修改oauth_config.py就可以了) (twitter apps的callback url设置为 https://xxx.appspot.com/oauth/twitter/callback。关于twitter apps填写参照这个文章相关内容 《用twip搭建带oauth的twitter(推特)api proxy》 )
修改方法:查找 'consumer_key': '', 和 'consumer_secret': '', 在''中间填入Consumer key 和 Consumer secret 就可以了。
④由于SDupload某方面不支持,所以修改app.yaml。除了appid填自己的外其他和下面一致。
application: <your appid> //这个<your appid> 改成下文的id。记得不要“<”和“>”。 version: 1 runtime: python api_version: 1 handlers: - url: (?i)/gtap_oauth/.* script: gtap_oauth.py - url: (?i)/oauth/.* script: oauth.py - url: (?i)/oauth_demo/.* script: oauth.py - url: / static_files: index.html upload: index.html
(下面是依照opda一篇文章修改的 http://www.opda.net.cn/thread-237985-1-8.html)
二,申请Appspot账号
①注册app engine,地址 http://appengine.google.com/ ,有google account很方便的就建立了。
②建立一个application,如图:
(注,建立过程可能会验证你的手机号码) ③给自己的application设置一个唯一的id, 以后就可以用yourid.appspot.com来访问你的app。 网上这三步就完成了,它的作用其实就是在Appspot申请一个账号.
三,上传到GAE(这里直接用我给的压缩包做例子 uushare下载 )
①解压到某个目录,比如 E:\
②用编辑器或是记事本打开app.yaml和oauth.py文件(在E:\gae\Gtap下),按第一点的第③④步做。
③然后开始-运行,输入cmd.exe进入命令行状态,在通过DOS命令进入gae文件夹 (先进入E:盘, DOS命令是E: , 再进入gae目录,DOS命令是 cd gae) 此时电脑的显示应该是:E:\gae,再 输入以下命令行即可:
SDUpload update gtap
④此时,会提示你输入你的email地址和密码。输入你申请 Appspot对应的email就OK了。如果出错误提示,请多试几次。我在试用时,没有关闭Freedur就出错过。注意,输入密码时,电脑是不显示的,但请回车 即可。
一般回到文件夹!就上传完毕了!
四,oauth验证
①访问http://xxx.appspot.com/oauth/twitter/login 注册,完成后会显示一个key,你可以修改这个key为自己api的密码(注意这里http没有s)
②设置客户端的api地址为https://xxx.appspot.com/gtap_oauth/(update:如果用不了的话可以将https改为http),用户名随意,密码为①显示的key即可登录(注意这里http有s,最后要加上“/”)
Gravity的使用
依然是那句话,继续6375。验证我选的是plaintext。然后api就填写完整的,例如:https://oauthapi.appspot.com/gtap_oauth/ 。然后gzip那个选项可以开启,用处嘛,或许会有点心理作用呢 XD 还有感谢 @untildied 童鞋发现这个好东西 http://timewilltell.me/2010/05/gaes-api-methods-built-oauth.html
这个Gae的API一般容易弄,不会说失败的吧。祝大家成功啊!
转载注明出处 http://4zai.net/179 twitter @4zai QQ微博 @im4zai
欢迎你订阅本博客RSS feed. 多谢啦~ o(*≧▽≦)ツ
| 此篇文章是由 四仔 在 2010 年 05 月 17 日 1:41 上午 所張貼,並且分類為 技术宅の成长, 您可以透過 RSS 2.0 追蹤此篇文章的留言。 您可以 寫個留言 或是從您的網站丟個 trackback 回來。 |




在
在
在


大約 1 年前
Traceback (most recent call last):
File “/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py”, line 511, in __call__
handler.get(*groups)
File “/base/data/home/apps/kyokokyoko0013/1.344128326213000121/oauth.py”, line 440, in get
self.handle(service,action)
File “/base/data/home/apps/kyokokyoko0013/1.344128326213000121/oauth.py”, line 455, in handle
self.response.out.write(getattr(client, action)())
File “/base/data/home/apps/kyokokyoko0013/1.344128326213000121/oauth.py”, line 227, in login
return self.get_request_token()
File “/base/data/home/apps/kyokokyoko0013/1.344128326213000121/oauth.py”, line 243, in get_request_token
**dict(token.split(‘=’) for token in token_info.split(‘&’))
ValueError: dictionary update sequence element #0 has length 1; 2 is required
到了login的时候是这样显示的……
想问一下哪里出了问题呢,谢谢了。
大約 1 年前
好吧,问题我自己发现了……
四仔请把留言删掉吧……
大約 1 年前
大哥好··那个···能不能发一个···api上foursquare的教程····拜谢!!!!
大約 1 年前
有api也要有客户端才可以用foursquare的啊!!
大約 1 年前
能不能用GAE搭建4SQ的API然后用于FOURSQUARE_API?
大約 1 年前
应该可以吧…但是谁写一个文件用在gae上呢….我不会啊…
大約 1 年前
话说我都填Consumer key 和 Consumer secret了啊……应该对的啊…….
大約 1 年前
啊…或者你用0.4版的试试啊!!你有没有GT什么的好沟通啊…
大約 1 年前
Error: Not Found
The requested URL /ouath/twitter/callback.php?oauth_token=rAfdvytCoDXLXmimKlIunPhjgYAMFWPbsPEK0vvwY was not found on this server.
按照你的方法。。最后验证的确认后报错。。。求解决办法。。。谢谢
大約 1 年前
有没有开代理啊??
大約 1 年前
pipilu007@gmail.com GT
大約 1 年前
啊….问题已解决….提醒各位不是把’consumer_secret’这个东西给替换到…..是填后面的‘’里得东西啊……
大約 1 年前
啊..果然还是这个key的问题啊…
大約 1 年前
访问http://xxx.appspot.com/oauth/twitter/login 注册 这一步网页显示如下,是什么原因能告诉我么??我上传了两个api都是下面的显示。。
Traceback (most recent call last):
File “/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py”, line 511, in __call__
handler.get(*groups)
File “/base/data/home/apps/hotsqq/1.344212161174737396/oauth.py”, line 440, in get
self.handle(service,action)
File “/base/data/home/apps/hotsqq/1.344212161174737396/oauth.py”, line 455, in handle
self.response.out.write(getattr(client, action)())
File “/base/data/home/apps/hotsqq/1.344212161174737396/oauth.py”, line 227, in login
return self.get_request_token()
File “/base/data/home/apps/hotsqq/1.344212161174737396/oauth.py”, line 243, in get_request_token
**dict(token.split(‘=’) for token in token_info.split(‘&’))
ValueError: dictionary update sequence element #0 has length 1; 2 is required
大約 1 年前
估计是那个consumer key你填错啦!!要填到 ” 中间的啊!!
大約 1 年前
最近使用gtap API在Mixeo和Gravity客户端上都无法使用搜索功能,之前都一直可用的,你们有遇到这样的情况吗?能解决不?
大約 1 年前
啊,,试试新版咯…这个我也不知道呢!!我GTAP用在twhirl上的!!
大約 1 年前
早就该作准备了,今天才慌慌张张的搭起来
大約 1 年前
很好用 湿了下成功了 抱拳作揖~
大約 1 年前
成功就好…
大約 1 年前
请问大湿..我搜索了下 自定义的API如果要用在MIXERO上的话要把KEY改成自己twitter的密码~问题是..在哪改 我只能查询 查后我的KEY根本就没变..还是和原来一样..而且也登陆不进MIXERO
大約 1 年前
新版的mixero好像不能api…
大約 1 年前
我要哭了,今天在推上问了你拿了两个地址,可以在浏览器里打开
gae的api我用赛风去oauth了,提示了两次改密码之后就是空白页面了
在chrowety里的api login的用户名和密码应该是填什么啊?我的推特的账户密码?
大約 1 年前
就是oauth之后提示你改密码那里,你改成什么就用什么当做密码…
大約 1 年前
上传时cmd显示”Error parsing yaml file”
求解释…
大約 1 年前
就是那个app.yaml应该没有修改对吧~
大約 1 年前
oauth源码呢??下载失效了
大約 9 個月前
访问http://xxx.appspot.com/oauth/twitter/login
出现
Traceback (most recent call last):
File “/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py”, line 700, in __call__
handler.get(*groups)
File “/base/data/home/apps/mcyoung123/1.350198630785920219/oauth.py”, line 534, in get
self.handle(service,action)
File “/base/data/home/apps/mcyoung123/1.350198630785920219/oauth.py”, line 549, in handle
self.response.out.write(getattr(client, action)())
File “/base/data/home/apps/mcyoung123/1.350198630785920219/oauth.py”, line 303, in login
return self.get_request_token()
File “/base/data/home/apps/mcyoung123/1.350198630785920219/oauth.py”, line 319, in get_request_token
**dict(token.split(‘=’) for token in token_info.split(‘&’))
ValueError: dictionary update sequence element #0 has length 1; 2 is required
小白表示完全看不懂= =
还有那个consumer key 和secret填什么?
大約 8 個月前
为什么不是用Gtap 0.4呢?
大約 8 個月前
你看看这是多少年前的东西啊。。。