0.4.0 • Published 10 years ago

node-bqq v0.4.0

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

bqq

NPM version  Build Status  Dependency Status

腾讯企业QQ开放平台 API 的 node 实现。

Usage

var express = require('express');
var BQQ = require('node-bqq');

BQQ.init({
  appId: 'bqq app_id',
  appSecret: 'bqq app_secret',
  redirectUrl: 'http://yourdomain.com/authorized',
  //ip: 'server ip'
});

// 授权
// -----------------
var app = express();
app.get('/authorize', function(req, res) {
  var authorizeUrl = BQQ.getAuthorizeUrl({
    state: 'opqrstabcdefghijklmnuvwxyz',
    //ui: 'web|ios|android|auto' // default 'auto'
  });

  res.redirect(authorizeUrl);
});

app.get('/authorized', function(req, res) {
  var code = req.query.code;
  var state = req.query.state;

  BQQ.getAccessToken(code, state, function(err, data) {
    // data.data:
    // {
    //   open_id: '',
    //   access_token: '',
    //   refresh_token: '',
    //   expires_in: 720000,
    //   state: 'opqrstabcdefghijklmnuvwxyz'
    // }
  });
});

// 调用 API
// -----------------
var bqq = new BQQ({
  companyId: 'company id',
  companyToken: 'company token'
});
bqq.getCompanyInfo(function(err, data) {
  // 获取到企业基本信息...
});

API

BQQ.init(options)

初始化 BQQ ...指定开放平台的应用程序信息。

options:
- appId       在开放平台申请应用获得的 app_id
- appSecret   在开放平台申请应用获得的 app_secret
- redirectUrl 在开放平台填写的授权回调地址
- ip          服务器的 IP 地址

BQQ.getAuthorizeUrl(options)

获取认证员工授权的 URL 地址。

options:
- state        防范 CSRF 攻击,会在授权成功之后原样返回
- ui           授权界面的类型,可选 ('web'|'ios'|'android'|'auto'),默认 'auto'

BQQ.getAccessToken(code, state, callback)

获取员工 access_token

code:   授权成功之后传回的参数
state:  防范 CSRF 攻击
callback(err, data)

BQQ.refreshAccessToken(refreshToken, callback)

刷新 access_token

refreshToken: 第一次刷新则是授权时取得的 refresh_token,后面则是刷新授权后取得的
callback(err, data)

bqq.getCompanyInfo(callback)

获取企业的基本资料。

bqq.getUsers(timestamp, callback)

获取员工资料列表,全部获取或是自上次获取之后变更的。

timestamp: 上次拉取获得的时间戳,首次拉取或全量拉取请传 `0`。(default `0`)

bqq.getUsersByOpenIds(openIds, callback)

根据 open_id 获取单个或多个员工的资料。

openIds: 员工的 open_id 列表,使用英文逗号分隔

bqq.getUsersFace(openIds, typeId, callback)

根据 open_id 获取单个或多个员工的头像信息。

openIds: 员工的 open_id 列表,使用英文逗号分隔
typeId: 头像大小。 (default `4`)
- `1`  40×40 头像
- `2`  40×40 动态头像
- `3`  100×100 头像
- `4`  140×140 头像

bqq.getUsersEmail(openIds, callback)

根据 open_id 获取单个或多个员工的邮箱信息。

openIds: 员工的 open_id 列表,使用英文逗号分隔

bqq.getUsersMobile(openIds, callback)

根据 open_id 获取单个或多个员工的手机号码。

openIds: 员工的 open_id 列表,使用英文逗号分隔

bqq.getUsersQQ(openIds, callback)

根据 open_id 获取单个或多个员工的 QQ号码。

openIds: 员工的 open_id 列表,使用英文逗号分隔

bqq.getDepartments(timestamp, callback)

获取部门资料列表,全部获取或是自上次获取之后变更的。

timestamp: 上次拉取获得的时间戳,首次拉取或全量拉取请传 `0`。(default `0`)

bqq.getDepartmentsByIds(ids, callback)

根据 dept_id 获取单个或多个部门的资料。

ids: 部门的 dept_id 列表,使用英文逗号分隔

bqq.sendTip(data, callback)

向指定的员工QQ客户端发送弹窗消息。data 参数请参见 企业QQ开放平台API文档

bqq.sendBroadcast(data, callback)

向指定的员工QQ客户端发送广播消息。data 参数请参见 企业QQ开放平台API文档

bqq.sendSms(data, callback)

向指定的员工发送手机短信。data 参数请参见 企业QQ开放平台API文档

0.4.0

10 years ago

0.3.0

10 years ago

0.2.1

10 years ago

0.1.0

10 years ago