我唔喺卖四仔嘎~
用twip搭建带oauth的twitter(推特)api proxy
好吧,最近研究了twip的oauth登录有一段时间,自己弄好了。其实我弄这个是为了改client,很好玩呢!~
然后我看见大家都对5月30日twitter会关闭 basic oauth 方式登录 twitter 感到不知所措。大家都想以后墙里面怎么登录?据说以后就要靠oauth登录了。于是我看见很多人都开始研究了。但是又不知道怎么弄。看见很多人都希望有点详细点的说明。于是我就打算把自己的方法写下来~
注意!这个是带oauth的twip2.2版的设置。如果你 是用twip 3.0的请看这个教程
《带oauth的twip3.0 twitter api proxy的配置》
其实我写这些不怕浪费时间。我最怕的是那些复制粘贴走的人。复制粘贴不要紧,但是遇上那些改成是自己写的贱人就真是很郁闷了!例如这里写的经历《5555~遇上把我整篇文章复制走的极品了。。我开防盗链了》。好吧,写前还是说几句,想整篇复制可以,但是不要把里面的东西全改自己的吧,至少写明出处。尊重别人劳动成果啊!
首先以下内容参考过的有:《YUKI.N :: Twip + OAuth 的問題 》 《Twip添加OAuth支持》 《Twip搭建 twitter API proxy指南》
搭建自己twip的理由
这个更新一下吧。折腾总有个理由的吧!~
- 改client!这个是我折腾的最大理由了。就是改from XXX 的那个。感觉蛮好玩的。
- 用d版gravity。(这个说出来不好意思额 ( ̄▽ ̄”))
- 感觉用gravity的api不好说,说不定那天挂了。到时候一堆人哭爹娘求api那样多么麻烦啊。。
- 我总不能买个诺基亚手机就是为了弄个gravity上推吧?还有这么多客户端可以尝试。
- 共用别人的api。用的人多就慢了吧?
- 如果服务器有压缩的话,貌似很省流量哦!~ 我每次打开,收200条推+检查@+检查DM ,一切过程只要150K不到的流量哦~
- 这么多理由难道不是理由么?
搭建twip的准备
- 首先你是要有一个免费空间(也要看空间的支持是怎么样的。有些弄不好的估计是空间的问题吧)
空间的话这里写2个免费的 207.7.84.111 host1free 下面出现什么问题的可能多刷新几次或者换个空间吧,毕竟是免费的东西不能强求什么的 - 到google code 下载 twip (记得是下载那个 twip-2.2-r1.tar , 3.0不支持oauth的吧 )
- 到 twitter 申请 app
- 我把所有需要的东西都压在一起了方便大家下载,然后改点东西就可以直接上传了 uushare下载
步骤
- 先到twitter apps申请一个app。注意要用代理上。
①:Application Name 写自己想写的,到时候这个就是现实在 From XXX里面的名称了。不过这个是唯一的,被人申请了就只有起另外的名字了。
②:Description Organization Website 随便写吧。
③:Application Website 就是 from XXX 里面点一下进去的那个链接。
④:Application Type 选 Browser
⑤:Callback URL :填写你的twip的oauth.php位置。例如 http://www.example.com/twip/oauth.php
⑥:Default Access type 选 Read & Write
⑦:Use Twitter for login 不选
然后确认。你会得到Consumer key 和 Consumer secret。 - 解压下载后的 twip-2.2-r1。编辑里面的 config.php 文件。基本要修改的有
$enable_oauth = false; /把false改true (如果你下载我上面打包好的,这里已经改了)
$CONSUMER_KEY = ”; /在”里面填上刚刚得到的Consumer key
$CONSUMER_SECRET = ”; /在”里面填上刚刚得到的Consumer secret
$OAUTH_DIR = ”; /在”里面就填./oauth/ 记得/前面有一点 (如果你下载我上面打包好的,这里已经改了)
还有$docompress = false; 这个该true的话,就开启了gzip压缩吧。不过实际上,我开了以后感觉gravity反应慢,甚至收不到tweet,所以我没有开。
《YUKI.N :: Twip + OAuth 的問題 》里面提及twip有点问题导致oauth验证会出问题
找到oauth.php 修改$pattern = '/<name>([^<]*)<\/name>/';
为
$pattern = '/<screen_name>([^<]*)<\/screen_name>/';
(如果你下载我 上面打包好的,这里已经改了)
twip的修改的就这么多。 - 《Twip搭建 twitter API proxy指南》里面说oauth验证要下载文件,但是那个下载
git clone git://github.com/abraham/twitteroauth.git/codehttp://github.com/abraham/twitteroauth/downloads
我看着就蛋疼。其实在这里下载
我下载的是 0.2.0-beta3。然后再继续修改config.php。Consumer key和Consumer secret还是和上面的一样。OAUTH_CALLBACK就填写申请twitter app时候的Callback URL。
然后在twip的目录下新建一个oauth的文件夹。把这里下载的config.php等等的一堆文件,放到twip的oauth文件夹里面。(如果你下载我上面打包好的,这里已经是放到oauth的文件夹里面了) - 把以上的上传到自己的空间,然后oauth验证下就应该可以了。
①:验证就是打开自己当初填的Callback URL地址,点击最下方的链接,在twitter.com上登录。
②:选择Allow允许twip访问你在twitter.com上的数据。
③:页面跳转回Callback URL地址,你可以看到页面取得了你的基本信息(以XML形式)。
注意oauth文件夹应该设置成644或者755的权限吧,否者应该会有安全问题。 - api地址就是你空间地址。例如 www.example.com 。吧这个地址填入gravity等客户端。
- 然后oauth过的api只要知道你用户名就可以登录你的twitter,所以可以参照 《YUKI.N :: Twip + OAuth 的問題 》里面的那样设置一个twip验证的密码。
一点问题
过程中只要是空间没有屏蔽twitter都是没有问题的。然后,有人oauth不成功。如果出现什么 “Warning: file_put_contents” 这种话,请按照你的的 OAUTH_DIR 的位置,新建一个oauth目录,并且把目录权限设置成 “777”。我试验过了,基本上把那个oauth目录的权限设置成7777(可能最后权限不是这样,反正你把这个数字打进去应该就可以了,是4个7)还有oauth目录下的都这么设置。oauth成功后吧权限设置回755就可以了。
怎么判断oauth是否成功?
首先你的twitter的connection是要有自己建立的那个app出现了
然后看看你的空间上的oauth目录是不是多了点东西。这个很关键。没有的话就是不成功了。
最后后改了后的效果,我用gravity啊mixero啊发的推,都是这样的
显示的都是申请的Application Name。(当然啦这个app和上面的那个不是同一个啊我懒啊不要见怪)
这里有一个twip3.0修改带oauth的,应该是比twip2.2好的,大家也可以去看看~
http://heybronco.net/tech/twitter/the-twip-support-oauth/
好了应该问题就这么多了。转载注明出处 http://4zai.net/137 twitter @4zai QQ微博 @im4zai 好了,如果你自己吧这行很无耻的改成你自己的,那么我出了心底里问候你以外,我就没什么好说的了。
欢迎你订阅本博客RSS feed. 多谢啦~ o(*≧▽≦)ツ
| 此篇文章是由 四仔 在 2010 年 05 月 04 日 1:30 下午 所張貼,並且分類為 技术宅の成长, 您可以透過 RSS 2.0 追蹤此篇文章的留言。 您可以 寫個留言 或是從您的網站丟個 trackback 回來。 |




在
在
在
在

大約 3 個月前
207.7.84.111
host1free
都把我删除了。
大約 3 個月前
oauth文件夹权限改为777即可
大約 3 個月前
Warning: file_put_contents(/home/coldpl/domains/coldplains.whostas.com/public_html/oauthbingyuan008.oauth) [function.file-put-contents]: failed to open stream: Permission denied in /home/coldpl/domains/coldplains.whostas.com/public_html/savetoken.php on line 30
Warning: Cannot modify header information – headers already sent by (output started at /home/coldpl/domains/coldplains.whostas.com/public_html/savetoken.php:30) in /home/coldpl/domains/coldplains.whostas.com/public_html/savetoken.php on line 32
请问出现这个是什么原因?
大約 3 個月前
XML解析错误:废弃 document 元素之后的内容
位置:http://flyfishcyx.whostas.com/twip/oauth.php
行:2,列:1:Warning: file_put_contents(./oauth/88009d7587f18e9b4f00eb67e1d9d1d6) [function.file-put-contents]: failed to open stream: Permission denied in /home/flyfis/domains/flyfishcyx.whostas.com/public_html/twip/oauth.php on line 101
^
大約 3 個月前
这些都是要新建一个oauth文件夹(具体是你配置文件写哪里就新建在哪里)然后设置777,设置权限在file manger里面
大約 3 個月前
试过了,可以了,有个问题,就是gravity更新速度特慢,回复也无法更新,能更新时间轴…用的是host1free的空间
大約 3 個月前
请问如何修改?
大約 3 個月前
这些都是要新建一个oauth文件夹(具体是你配置文件写哪里就新建在哪里)然后设置777,设置权限在file manger里
大約 3 個月前
请问下,我test能成功,但是在twitter的connection看不到自己新加的applications。这是为甚麽啊?
大約 3 個月前
就是不成功呢。test的话和oauth无关系的吧!你有先oauth过么?然后看看那个oauth的目录设置777权限吧!~
大約 3 個月前
太谢谢楼主,ixhosting的空间搭建成功!clean sessions即可。
大約 3 個月前
呃……看来我高兴地太早了,没有OAuth成功,具体来说是Connection中出现了我自己的Apps,XML信息也取回来了,但是OAuth文件夹下面却没有新东西出现,在Gravity上测试也失败了。这个应该怎么处理? 麻烦你在twitter上回复我好吗?@LazarusXRF
大約 3 個月前
mFeWqi vcglildnxryu, [url=http://taleyfummuvz.com/]taleyfummuvz[/url], [link=http://pdyxdtezhpka.com/]pdyxdtezhpka[/link], http://wlakelkgizkx.com/
大約 3 個月前
您好。。。我用的是host1free的空间,把东西都传好了之后访问callback网址告诉我404notfound是怎么回事阿
大約 3 個月前
oauth文件都在./oauth/这个目录下比较危险
外界直接可以访问
权限还很低
大約 2 個月前
怎么这两天我搭的twip不能用了!
大約 2 個月前
你确定空间没有被屏蔽什么的啊?例如用traceroute可以看看是不是空间被墙了啊。
大約 1 週前
哥们,有空帮下忙,帮我搞下API,我真的不会搞啊,免费主机已经申请好了。您可以发邮件到我的gmail邮箱
大約 1 週前
软件里面用哪个地址当支持oauth的API呢?
大約 1 週前
就填到api那个地址那里就可以了~
大約 1 週前
我问的是API地址
我现在已经搭建好了,也测试成功了,但是软件里面不知道填什么
比如,我的域名是http://www.xxxx.com/,twip就放在服务器的twip文件夹,那么我的api地址是不是就是http://www.xxxx.com/twip/
另外
大約 1 週前
对啊 ,就是这样!!!还有另外什么??…
大約 1 週前
另外您这个blog的主题能送给我用吗?谢谢了
能的话请发到我邮箱:249902 [at] gmail.com
大約 1 週前
主题叫 “Mystique ” 网上很容易找到的..不过用久了就想换了…
大約 5 天前
能给个现成的API吗?教程看的我头疼~!呵呵~!发到我邮箱就可以了~!谢谢~!
大約 5 天前
xuxinquan22@gmail.com
大約 5 天前
twip的没有啦….gae的你要么??~
大約 4 天前
要啊~!我黑莓UberTwitter没API不能用啊~!
谢谢~!
大約 3 天前
oauthapi.appspot.com