twitter被墙了
估计很多人知道了http://nest.onedd.net/api这个twitter api proxy,在某些支持twitter api地址更换的软件(例如twitterfox、spaz以及symbian s60上的gravity),使用这个api proxy即可翻墙继续使用,和用穿墙代理以及修改hosts之类的方式比有非常明显的优势。
但是birdnest这个项目需要在Google App Engine上架设,众所周知GFW对GAE一直虎视眈眈,在GAE上架设twitter api proxy各种不靠谱。而我自己有php环境的虚拟主机空间,所以我一直在找一个php架设twitter api proxy的办法。
昨天经过@paveo的提醒,知道了tweetr这个项目。折腾半天后终于搞定了php环境下twitter api proxy的架设。
如何架设的办法在tweetr项目主页的wiki上有说明,英文过关的同学请自行阅读原文,其他同学请看本人的翻译:
环境需求:
>=PHP5
PHP包括curl支持
允许修改.htaccess文件
(译注:绝大多数虚拟主机空间都满足以上要求)
安装指南:
1、下载解压tweetr_php_proxyXXXX.zip,将其中的proxy/文件夹放到web目录下任意位置
2、这条请自行看原文,似乎是说,在flex程序里使用这个twitter api proxy,并且程序和api proxy不在同一域,需要将解压得到的crossdomain.xml放在api proxy所在域的web根目录下。这条基本无关主题,请无视……
3、修改index.php,将其中的$twitterOptions['baseURL']修改为你的proxy文件夹相对web根的路径。例如你将proxy文件夹重命名为twitterapi放在http://yegle.net/twitter/twitterapi下,这里就填写’/twitter/twitterapi’
=========================分割线
安装完实际使用中发现twitterfox和spaz都提示cannot authencation,看了一下代码,原来是部分请求没有发送验证用的用户名密码,猜测是因为这个api proxy本身只是为了跨域“读”twitter上的数据方便,没有考虑到需要“写”twitter数据。更改Tweetr.php,修改function parseRequest其中的一部分,具体位置在94行左右。
在其中加入2行:
strpos($this->url['path'], “statuses/replies.”) != false ||
strpos($this->url['path'], “account/verify_credentials.”) != false ||
即可
PS.这里的strpos(blablabla)!=false,双重否定太发指了!还有互相之间的或关系……各种逻辑混乱……
PS2.不要直接复制粘贴代码……wordpress会把双引号和单引号转换成其他字符……谁能告诉我有什么简单的在wordpress里粘贴代码的方法?

哇哈哈,你也用这个了厄
[回复]
你知道这个居然不告诉我……
[回复]
http://wordpress.org/extend/plugins/wp-syntax/
我用的这个 code 插件。比较好的地方是没有自创标签,用的是 pre,就算将来不用这个了,blog 展现的时候也不会有问题。
[回复]
其实那个birdnest可以架设在任意支持python的主机上。
这个虽然是php的,适用范围广很多,但是看起来似乎更麻烦啊。
[回复]
你好,请问你能给个指导,关于如何在一个有python环境的主机上架设birdnest的步骤么?我对python一窍不通…
[回复]
我也不会python的,以前svn co把源代码弄到主机上试过,好像直接就可以运行了。
[回复]
这里有提到在google app的python上架设:http://www.ifanr.com/2778
[回复]
在 functions.php 中添加
remove_filter (‘the_content’, ‘wptexturize’);
[回复]
部分主机可能需要修改Tweetr.php的header
比如在浏览器打开(假设)
http://cunfe.com/api/account/verify_credentials.json
显示xml解析错误 说明header需要修改
查找Tweetr.php的125行和197行
将 text/xml 替换为 text/json
[回复]
thanks~
[回复]
添加那两行之后果然没有授权错误了,多谢!
[回复]
python的api似乎在uberTwitter不能用,但是twhirl等pc客户端良好,囧
[回复]
这个tweetr看起来不是很FB啊
[回复]
安装失败,是较新的版本,带install.php的那个,安装完后的.htaccess文件内容是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
这样的话,在第4步测试的时候,那个测试窗口总是打开我的站点的首页,而不是像视频里面那样,打开一个XML的文件。
麻烦帮个忙吧,这个已经郁闷我两天的时间了。
今天请假在家专门研究这个,还是没搞定,再郁闷一下。
如果可以的话,麻烦发邮件给我,谢谢!
[回复]
请问可以限制使用这个API的用户名吗?谢谢。
[回复]
yegle 回复:
三月 5th, 2010 at 17:09
我之后就没有折腾这个代码了,建议自行查看一下PHP代码:-)
[回复]