Name Last Update
lib Loading commit data...
spec Loading commit data...
.gitignore Loading commit data...
.rspec Loading commit data...
Gemfile Loading commit data...
LICENSE.txt Loading commit data...
README.md Loading commit data...
Rakefile Loading commit data...
qy_wechat_api.gemspec Loading commit data...

README.md

QyWechatApi

This project rocks and uses MIT-LICENSE.

https://rubygems.org/gems/qy_wechat_api

Gem Version

企业号对应多个管理组,请前往 设置 => 权限管理 任意创建一个管理组,在管理组最下角即可获取 CorpID Secret

有问题请及时提issue

gem "qy_wechat_api", git: "https://github.com/lanrion/qy_wechat_api.git"

Token 存储方案

623b779cf4c04afbc119a129f01497cd9f43fc69#">对象存储

如果你是单个企业号,建议使用这个方案,无需任何配置即可使用。

Redis 存储

redis = Redis.new(host: "127.0.0.1", port: "6379")

namespace = "qy_wechat_api:redis_storage"

# cleanup keys in the current namespace when restart server everytime.
exist_keys = redis.keys("#{namespace}:*")
exist_keys.each{|key|redis.del(key)}

redis_with_ns = Redis::Namespace.new("#{namespace}", redis: redis)

QyWechatApi.configure do |config|
  config.redis = redis_with_ns
end

623b779cf4c04afbc119a129f01497cd9f43fc69#">自定义存储方案

TODO...

API基本用法

请务必结合:http://qydev.weixin.qq.com/wiki/index.php 理解以下API参数使用。

623b779cf4c04afbc119a129f01497cd9f43fc69#">初始化

group_client = QyWechatApi::Client.new(corpid, corpsecret)
# 为了确保用户输入的corpid, corpsecret是准确的,请务必执行:
group_client.is_valid?

623b779cf4c04afbc119a129f01497cd9f43fc69#">部门

group_client.department.create(name, parent_id, order=nil)
group_client.department.update(id, name, parent_id, order=nil)
group_client.department.delete(id)
group_client.department.list

623b779cf4c04afbc119a129f01497cd9f43fc69#">成员

<!-- 创建成员 -->
group_client.user.create(user_id, name, options={})
<!-- 更新成员 -->
group_client.user.update(user_id, options={})
<!-- 删除成员 -->
group_client.user.delete(user_id)
<!-- 批量删除成员 -->
group_client.user.batch_delete(user_ids)
<!-- 获取成员 -->
group_client.user.get(user_id)
<!-- 获取部门成员 -->
group_client.user.simple_list(department_id, fetch_child=nil, status=nil)
<!-- 获取部门成员(详情) -->
group_client.user.full_list(department_id, fetch_child=nil, status=nil)
<!-- 邀请成员关注 -->
group_client.user.send_invitation(user_id, tips=nil)

623b779cf4c04afbc119a129f01497cd9f43fc69#">标签

group_client.tag.create(name)
group_client.tag.update(id, name)
group_client.tag.delete(id)
group_client.tag.get(id)
group_client.tag.add_tag_users(id, user_ids)
group_client.tag.delete_tag_users(id, user_ids)
group_client.tag.list

623b779cf4c04afbc119a129f01497cd9f43fc69#">自定义菜单

menu_json的生成方法请参考: https://github.com/lanrion/weixin_rails_middleware/wiki/DIY-menu

group_client.menu.create(menu_json, app_id)
group_client.menu.delete(app_id)
group_client.menu.get(app_id)

Oauth2用法

先要配置你应用的 可信域名 2458023e.ngrok.com state 为开发者自定义参数,可选

# 生成授权url
group_client.oauth.authorize_url("http://2458023e.ngrok.com", "state")

# 获取code后,获取用户信息
# app_id: 跳转链接时所在的企业应用ID
group_client.oauth.get_user_info("code", "app_id")

623b779cf4c04afbc119a129f01497cd9f43fc69#">发送消息

  # params: (users, parties, tags, agent_id, content, safe=0)
  # users, parties, tags 如果是多个用户,传数组,如果是全部,则直接传 "@all"
  group_client.message.send_text("@all", "@all", "@all", app_id, text_message)

其他发送消息方法请查看 api/message.rb

623b779cf4c04afbc119a129f01497cd9f43fc69#">上传多媒体文件

# params: media, media_type
group_client.media.upload(image_jpg_file, "image")

# 获取下载链接
# 返回一个URL,请开发者自行使用此url下载
group_client.media.get_media_by_id(media_id)

623b779cf4c04afbc119a129f01497cd9f43fc69#">捐赠支持

如果你觉得我的gem对你有帮助,欢迎打赏支持,:smile:

/kubaninc/qy_wechat_api/tree/623b779cf4c04afbc119a129f01497cd9f43fc69#