用twip搭建带oauth的twitter(推特)api proxy【转】

http://4zai.net/137

好吧,最近研究了twip的oauth登录有一段时间,自己弄好了。其实我弄这个是为了改client,很好玩呢!~
然后我看见大家都对5月30日twitter会关闭 basic oauth 方式登录 twitter 感到不知所措。大家都想以后墙里面怎么登录?据说以后就要靠oauth登录了。于是我看见很多人都开始研究了。但是又不知道怎么弄。看见很多人都希望有点 详细点的说明。于是我就打算把自己的方法写下来~
其实我写这些不怕浪费时间。我最怕的是那些复制粘贴走的人。复制粘贴不要紧,但是遇上那些改成是自己写的贱人就真是很郁闷了!例如这里写的经历《5555~遇上把我整篇文章复制走的极品了。。我开防盗链了》。 好吧,写前还是说几句,想整篇复制可以,但是不要把里面的东西全改自己的吧,至少写明出处。尊重别人劳动成果啊!
首先以下内容参考过的有:《YUKI.N :: Twip + OAuth 的問題 》 《Twip添加OAuth支持》 《Twip搭建 twitter API proxy指南



搭建自己twip的理由

这个更新一下吧。折腾总有个理由的吧!~
  1. 改client!这个是我折腾的最大理由了。就是改from XXX 的那个。感觉蛮好玩的。
  2. 用d版gravity。(这个说出来不好意思额 ( ̄▽ ̄”))
  3. 感觉用gravity的api不好说,说不定那天挂了。到时候一堆人哭爹娘求api那样多么麻烦啊。。
  4. 我总不能买个诺基亚手机就是为了弄个gravity上推吧?还有这么多客户端可以尝试。
  5. 共用别人的api。用的人多就慢了吧?
  6. 如果服务器有压缩的话,貌似很省流量哦!~ 我每次打开,收200条推+检查@+检查DM ,一切过程只要150K不到的流量哦~
  7. 这么多理由难道不是理由么?

搭建twip的准备

  1. 首先你是要有一个免费空间(也要看空间的支持是怎么样的。有些弄不好的估计是空间的问题吧)


    
    空间的话这里写2个免费的
    207.7.84.111
    host1free
    下面出现什么问题的可能多刷新几次或者换个空间吧,毕竟是免费的东西不能强求什么的
  2. 到google code 下载 twip (记得是下载那个 twip-2.2-r1.tar , 3.0不支持oauth的吧 )
  3. 到 twitter 申请 app
  4. 我把所有需要的东西都压在一起了方便大家下载,然后改点东西就可以 直接上传了 uushare下载

步骤

  1. 先到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。
  2. 解压下载后的 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>/';




    $pattern = '/([^<]*)<\/screen_name>/';
    (如果你下载我 上面打包好的,这里已经改了)
    twip的修改的就这么多。
  3. Twip 搭建 twitter API proxy指南》里面说oauth验证要下载文件,但是那个下载
    git clone git://github.com/abraham/twitteroauth.git/code
    我看着就蛋疼。其实在这里下载
    http://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的文件夹里面了)
  4. 把以上的上传到自己的空间,然后oauth验证下就应该可以了。
    ①:验证就是打开自己当初填的Callback URL地址,点击最下方的链接,在twitter.com上登录。
    ②:选择Allow允许twip访问你在twitter.com上的数据。
    ③:页面跳转回Callback URL地址,你可以看到页面取得了你的基本信息(以XML形式)。
    注意oauth文件夹应该设置成644或者755的权限吧,否者应该会有安全问题。
  5. api地址就是你空间地址。例如 www.example.com 。吧这个地址填入gravity等客户端。
  6. 然后oauth过的api只要知道你用户名就可以登录你的twitter,所以可以参照 《YUKI.N :: Twip + OAuth 的問題 》里面的那样设置一个twip验证的密码。

一点问题

过程中只要是空间没有屏蔽twitter都是没有问题的。然后,有人 oauth不成功。我试验过了,基本上把那个oauth目录的权限设置成7777(可能最后权限不是这样,反正你把这个数字打进去应该就可 以了,是4个7)还有oauth目录下的都这么设置。oauth成功后吧权限设置回755就可以了。

怎么判断oauth是否成功?

首先你的twitter的connection是要 有自己建立的那个app出现了。

这里有一个twip3.0修改带oauth的,应该是比twip2.2好的,大家也可以去看看~
http://heybronco.net/tech/twitter/the-twip-support-oauth/
好了应该问题就这么多了。转载注明出处  http://4zai.net/137 twitter @4zai QQ微博 @im4zai 好了,如果你自己吧这行很无耻的改成你自己的,那么我出了心底里问候你以外,我就没什么好说的了。

1 条评论:

  1. @ahxxm 同学告诉我oauth文件夹权限应该是777。

    回复删除