ktmud / wechat-api

Nodejs Wechat Official Account advanced API sdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Nodejs Wechat Official Account advanced API sdk


Languages

Language:JavaScript 100.0%