- api可配置化
- 接口采用promise
- 最少依赖,专注新浪微博OAuth2.0认证
安装
npm install iweibo
var iweibo = require('iweibo');
var Weibo = iweibo.Weibo;
- iweibo.set(name, options); //设置单条
- iweibo.set(optionsObject); //设置多条
iweibo.set({
appkey: 'xxx',
appsecret: 'xxxxxxxxxx'
})
支持的配置:
var CONFIG = {
appkey: '',
appsecret: '',
oauth_host: 'https://api.weibo.com/oauth2/authorize',
access_url: 'https://api.weibo.com/oauth2/access_token',
api_url: 'https://api.weibo.com/2/'
}
- iweibo.setAPI(apiname, options); //设置单条api
- iweibo.setAPI(optionsObject); //设置多条api
iweibo.setAPI('statuses/update', {
method: 'post',
params: {
status: 'hello, world',
visible: 0
}
});
配置下微博接口(由于太多,并且不时更新,所以我就没全配置),配置下自己使用的接口,方法参考下件,基本如下:
'接口名称': {
method: 'get', //请求方法,post或者get(get可省略),参考api文档
params: { //默认参数,不用填写appkey和access_token,程序会自动补上
}
}
可以讲接口统一写到一个json或者js文件中,然后使用 require
引入,直接给 setAPI
传入
参考 examples/app.js
文件(需要先在本目录执行 npm install
安装依赖模块)
修改host,添加下面内容:
127.0.0.1 testapp.cn
进入 open.weibo.com 设置应用回调地址到 http://testapp.cn/callbak
weibo.getAuthorizeURL(backURL);
weibo.getAccessToken('code', {
code: code,
redirect_uri: backURL
}).done(function(err, data) {
var realpath = templateDir + 'callback.html';
html = fs.readFileSync(realpath);
data = JSON.parse(data);
data.refresh_token = data.refresh_token || '';
req.session.refresh_token = data.refresh_token;
req.session.access_token = data.access_token;
req.session.uid = data.uid;
html = bdTemplate(html, data);
res.end(html);
}).fail(function(err, data) {
var html;
if (err) {
html = fs.readFileSync(templateDir + 'error.html');
}
res.end(html);
});
//所有API都支持promise接口
weibo.api('users/show', urlObj).done(function(err, result) {
console.log(result);
res.end(JSON.stringify(result));
});
- 进入
examples
- 修改
config.json
,回调地址需要在open.weibo.com配置好,然后修改自己的host,将回调地址指到127.0.0.1
- 执行
npm install
- 访问自己在
config.json
配置的网站