来自: 动感咸鱼 – FeedzShare  

发布时间:2010年09月01日,  已有 5 人推荐


Twitter完全不顾中国人民的强烈谴责,正式关闭了Http Basic Auth,只好建这个开源项目叫BoTwi:Break OAuth Twitter——帮你自建一个继续使用Basic方式的代理API。

怎么使用:

需要一个支持curl/.htaccess/无广告的PHP5空间,可以不做任何设置,上传即可用,API地址指向上传目录下的/t。

可以运行check.php检查一下主机是否支持。

为啥要用:

如果你的Twitter客户端可以自定义API,可以试试自己搭建一个,这个东西相当于自动代理oAuth的Twip,效果等于Twitter没有关闭Basic,无视oAuth,直接发送用户密码就可以获得Twitter内容。

Twip也有oAuth版本,但只支持有限的几个用户,设置麻烦,所以自己写一下。感谢Twip的作者@yegle,同时也借鉴了dabr的代码。

折腾说明:

如果你不想折腾,下面的内容可以不看——

自定义API名称:

比如你上传到了http://www.abc.com/botwi/下面,那么你在http://dev.twitter.com申请的应用的OAUTH_CALLBACK_URL要指向http://www.abc.com/botwi/oauth,在botwi/t/config.php里定义这个值,并按申请应用时给你的值修改OAUTH_CONSUMER_KEY和OAUTH_CONSUMER_SECRET。

更快地连接:

如果传给API的是用户名密码,那么除了几个不需要认证的search之类,一般都要自动运算一次获得oAuth授权,但如果你能让客户端发来oauth_token和oauth_token_secret,那就可以省下这一步自动运算的时间。

我自己定义了一个/takeoAuth.json,向/botwi/t/takeoAuth.json发送用户密码,你就可以得到一个json格式的oauth_token和oauth_token_secret,然后你就可以接下来都用这两个东西发送请求了。

Godaddy免费空间:

大概6块人民币可以在Godaddy买个info域名,送免费空间,用来做API性能很好,可惜json输出后面都带广告,如果你能够在客户端处理掉这个广告,比如PHP的用strip_tags可以完美去除。

其它免费空间:

Google“php免费空间”试试,目前只测过alwaysdata,在Environment的PHP配置里加上extension = curl.so就行了。

项目地址:http://code.google.com/p/botwi/

测试API:http://iamzzm.alwaysdata.net/botwi/t

PS.

http://iamzzm.alwaysdata.net 是使用这个API的真理部内参,原来的nc.alwaysdata.net被光荣牺牲了,但搭建一个不过几分钟的事,真不知道有关部门费这个劲干嘛,白白增加了GFW黑名单的维护成本——话说这个成本里也包含了我交的税呀。

PS.PS.

这个API代码还没有经过更全面的测试,有问题推上找我:@iamzzm

PS.PS.PS.

杯具,刚发完Twitter就维护了~在这回答点问题:

这个项目首先是鼓励迅速搭建公开可用的API,如果是私用,最新版的Twip已经满足要求,可以无视路过。

当然,如果你要让这个API也私用,很简单,在/t/index.php里的if ($type == ‘oauth’)前面加两行:

$add = (strpos ( $request_api, ‘?’ ) > 0) ? ‘&’ : ‘?’;

$request_api .= $add.’oauth_token=xxxxxxxx&oauth_token_secret=xxxxxxx’;

这里的xxxxxxx是你账号私有的token和secret。不过不鼓励这样,共享没什么不好。

“要翻墙,用赛风”.