douban-client 是使用 Node.js 对豆瓣 API v2 接口的封装

目前已完成的接口有:

  1. 用户 User
  2. 广播 Miniblog
  3. 豆邮 Doumail
  4. 日记 Note
  5. 相册 Album
  6. 图片 Photo
  7. 读书 Book
  8. 电影 Movie
  9. 音乐 Music
  10. 线上活动 Online
  11. 同城活动 Event
  12. 论坛 Discussion
  13. 回复 Comment

安装

npm install douban-client

OAuth 2.0 认证

var DoubanClient = require('douban-client');

API_KEY = 'your api key'
API_SECRET = 'your api secret'

// 在 OAuth 2.0 中,
// 获取权限需要指定相应的 scope,请注意!!
SCOPE = 'douban_basic_common,shuo_basic_r,shuo_basic_w'

var client = new DoubanClient(API_KEY, API_SECRET, your_redirect_uri, SCOPE)

// 以下方式 2 选 1:
// 1. 引导用户授权
process.stdout.write('Go to the following link in your browser:\n');
process.stdout.write(client.authorize_url() + '\n');
process.stdout.write('Enter the verification code:\n');

process.stdin.on('data', function(chunk) {
    code = chunk;
client.auth_with_code(code);
});

// 2. 如果有之前有 token,则可以
client.auth_with_token(token)

// Token Code
token_code = client.token_code

// Refresh Token
// 请注意:`refresh_token_code` 值仅可在授权完成时获取(即在 `auth_with_code`, `auth_with_password` 之后)
refresh_token_code = client.refresh_token_code
client.refresh_token(refresh_token_code) # refresh token

至此,已经完成 OAuth 2.0 授权

如何调用:

// 所有接口使用异步模式,返回一个 events.EventEmitter 事件对象
// 接口返回数据时,会触发 data 事件

var event = client.user.get(id);
event.on('data', function(err, data){
//发生异常时会将异常放入err, 此时 data == null
if(!err){
console.log(data);
    }
});