Skip to content

Repository files navigation

wechat-api

https://github.com/lazing/wechat-api

用于微信 api 调用(非服务端推送信息)的处理。

Gem Version

常见的应用场景如:

  • 获取关注用户
  • 推送模板信息
  • 创建二维码
  • 创建短链接

远期计划进一步支持微信支付等。

为什么不使用其他 gem

  • 很多 gem 基于 rails 或其他 web 框架,单独使用过于笨重
  • 不够简单,特别是用于多账号管理的时候
  • 微信 api 更新频繁,需要易于使用新功能

主要功能清单

  • 支持微信服务号和订阅号API
  • 支持微信js_ticket获取
  • 支持微信红包API
  • 支持微信企业号主动调用API

使用方式

gem'wechat-api'
require'wechat-api'api=Wechat::Api::Client.new'appid','appsecret'api.get'user/info',nextopenid: 'xxx'# 当使用 get 方式时,hash 参数将做个 query params 附在请求后api.post'user/info/updateremark',openid;'xxxx',remark: '我是注释'# 当使用 post 方法时,hash 参数将转换为 json,因此可以支持嵌套的结构

微信企业号主动调用API

require'wechat-api'qy=Wechat::Qy::Client.new'corpid','corpsecret'qy.text_send'agentid','message',touser: 'UserId1|UserId2'#提供的预定义方法qy.post'api/uri',{key: :value}#未提供预定义方法时调用

一些预定义方法

预定义接口方法可以方便使用。

目前支持如下:

# 创建固定二维码api.create_qrcode(scene_str)# 创建临时二维码api.create_qrcode_temp(scene_id)# 发送模板消息api.send_template(template_id,openid,url,data={})

以上接口返回微信文档定义的 json 数据转换后的ruby的 hash 对象

{"ticket"=>"gQHc7zoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0NVeGttUnJrOGZhSTdyX2RzR1F3AAIEZKcDVgMEAAAAAA==","url"=>"http://weixin.qq.com/q/CUxkmRrk8faI7r_dsGQw"}

关于贡献

功能请求,请直接 fork 并创建 Merge Request

About

用于微信 api 调用(非服务端推送信息)的处理。

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages