用twip搭建twitter api proxy

以前也搞过twip,不过没有成功,这次经过一个晚上的奋斗,终于搞定。

参考

四仔冇格仔,睇完大個仔博客

OPDA 沃达智能手机论坛

{ Colorful Me, Color for Me }博客

准备工作

  1. 一个可以访问twitter的支持php的空间(网上国外空间教程一大堆,自己申请)。
  2. 到google code的twip项目页下载twip
  3. 到 twitter 申请 apps

申请apps时要填表,填表要注意:

Application Name 就是程序名称,OAuth成功后它就是你发的推的 via XXX 信息的XXX(也就是客户端名称)。这个是唯一的,被人申请了就只有起另外的名字了。

Description Organization Website 随便填写。

Application Website 就是 via XXX 的链接,也可随便填写。

Application Type 选 Browser。

Callback URL :填写能访问到”callback.php”文件的完整网址(http://你的域名/twip/callback.php)。

Default Access type 选 Read Write。

Use Twitter for login 不选。

然后确认。你会得到Consumer key 和 Consumer secret。

这样就申请完成。

准备工作做完后,就要修改twip的配置文件了。

修改oauth_config.php

define(‘OAUTH_DIR’,’/home/user/oauth/’); /填写存放oauth的目录,注意最后还有一个”/”的(网上教程和twip作者都说应放在一个web用户无法访问的目录中,可能是为了安全起见吧,其实任何一个目录都可以,只要指定目录的位置正确并且有写权限就行。)

define(‘CONSUMER_KEY’, ”); /在”里面填上刚刚得到的Consumer key

define(‘CONSUMER_SECRET’, ”); /在”里面填上刚刚得到的Consumer secret

define(‘OAUTH_CALLBACK’, ‘http://127.0.0.1/twip/callback.php’); /在这里填上你的Callback URL,和申请apps时的callback url 一样。

define(‘SECURE_KEY’,’kpxaZj8nSoCt2OFddE3xI’); /这里保存的是加密数据所用的随机字符,可以随便填入字符,或者不改。

修改完后就可以上传到空间了。

问自己的API地址:http://你的域名/twip/ ,页面将显示当前Twip所使用的身份验证方法等运行状态及操作说明。

点击”Sign in with Twitter”按钮,进入Twitter登陆界面(需要翻墙),输入自己的用户名和密码后,转到授权界面,

询问是否授予相应权限给应用程序,点击”Allow”按钮,进入保存token界面,此时要求输入密码。

这个密码是用于访问保存在twip服务器上的access token文件的密码,所有通过此twip进行的发推等操作均需要使用此密码,

这里称为API密码。API密码可以与自己的Twitter密码相同或不同(不同时只能读信息,不能发信息,即对twitter帐户只有读权限,没有写权限),但若要使用Mixero,请填写Twitter密码。因为Mixero不通过API来校验密码,若API密码与Twitter不同,要么无法登陆,要么无法获得Twitter信息。完成后点击”保存”按钮,页面跳转到首页。若能看到你的timeline,说明OAuth认证获得成功,但不说明token文件一定保存成功。

然后请进入你空间的oauth文件夹,检查是否有一个“你的推特id.oauth”文件生成

如果没有生成文件则请仔细核对以上步骤细节~如有文件生成,则恭喜你成功了!

之后就可以在客户端使用用户名和API密码登陆了。

一、若需修改API密码则可以点击”Sign in with Twitter”按钮,重新输入新密码后保存好token文件即可。

二、若想多人共用此API,则须每个用户登录自己的twitter ID后再访问此API地址,再点击”Sign in with Twitter”按钮,

授权后保存好token文件即可,可能要先clearing your session.。

三、出于安全问题的考虑,建议在成功保存token文件后将oauth文件夹权限修改为755。

另外,可以设置一下Private API,来限定使用API的用户。这需要配置index.php。但我一直没搞成功。

  
//if you want to setup an API for limited users
  
//set private\_api true and set allowed\_users accordinary
  
//no space is allowed in allowed_users variable
  
//seperate users using comma.
  
$options[‘private_api’] = array(
  
true,
  
"allowed_users" => "bigpizza",
  
);
  
孤独的北山羊 /
Published under (CC) BY-NC-SA in categories Resources  tagged with twitter