Awesome
wechat-api 微信公共平台 API 工具
本模块只负责与 access_token
有关的高级接口功能,
接收和发送消息请使用 wechat-mp 。
特点
- 统一的 API 调用
- 自动管理
access_token
过期时间,请求时如遇过期,将自动刷新。
使用
// replace `APP_ID` and `SECRET` with corresponding value
var wechat = require('wechat-api')(APP_ID, SECRET)
// 查询自定义菜单信息
wechat.getMenu(function(err, result) {
//
// the `result` will be the json response
//
// when error happens:
//
// err == {"errcode":40013,"errmsg":"invalid appid"}
// result == null
//
})
// 根据 OpenID 获取用户信息
wechat.getUserInfo({
openid: 'o6_bmjrPTlm6_2sgVt7hMZOPfL2M',
lang: 'zh_CN'
}, function(err, result) {
//
// result === {
// "subscribe": 1,
// "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
// "nickname": "Band",
// "sex": 1,
// "language": "zh_CN",
// "city": "广州",
// ...
// }
//
})
全部 API
- createMenu(menu, callback) 创建菜单
- getMenu(callback) 查询自定义菜单
- deleteMenu(callback) 删除自定义菜单
- getUserInfo(args, callback) 获取用户信息 可直接传入 openid 字符串
- getUserList(args, callback) 获取关注者列表
- createQRCode(args, callback) 创建二维码
- createTempQRCode(scene_id, [expires_seconds,] callback) 创建临时二维码
- createPermQRCode(scene_id, callback) 创建永久二维码
- uploadMedia(type, filepath, callback) 上传多媒体文件
- mediaUrl(media_id) 获取文件下载地址
- getMedia(media_id) 下载多媒体文件,返回一个 readable stream ,可直接 pipe 到本地文件存储
Events
- ready 已获取 access_token,可以开始请求,如果你在初始化时传入了之前存储好的 token ,
ready
事件会即时触发 - refresh 已获取新的 access_token
var client = require('wechat-api')('appid', 'secret', 'the-stored-token')
client.on('ready', function() {
})
client.on('refresh', function(token) {
// token.expire_date ~= +new Date() + 7200 * 10e3
})
TODO
- 接口频率限制
License
The MIT license.