others-企业微信api

tech2022-07-13  154


title: others-企业微信api categories: Others tags: [企业微信, api] date: 2020-09-02 11:51:45 comments: false mathjax: true toc: true

企业微信 api, 实现 打包机 等自动推送消息


前篇

服务商后台 - https://open.work.weixin.qq.com/访问频率限制 - https://work.weixin.qq.com/api/doc/90000/90139/90312开始开发 (查看 前置物料 中的所有参数) - https://work.weixin.qq.com/api/doc/10013简易教程 - https://work.weixin.qq.com/api/doc/90000/90003/90487

前置物料

线申请为 服务商. 服务商后台: https://open.work.weixin.qq.com/企业id: corpidAAA,应用秘钥: corpappsecretBBB, 在 创建应用 (如: bot-packer) 后可以获取到, 还有 agentid: agentidEEEaccess_token: tokenCCC, 通过 corpidAAA 和 corpappsecretBBB 获取到. 参考: https://work.weixin.qq.com/api/doc/10013

消息推送

参考: https://work.weixin.qq.com/api/doc/90000/90135/90236

创建应用, 获取到 应用秘钥: corpappsecretBBB, 通过 get 请求到 access_token

https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=corpidAAA&corpsecret=corpappsecretBBB -- 返回值, json { "errcode": 0, "errmsg": "ok", "access_token": "tokenCCC", "expires_in": 7200 }

expires_in 是 token 失效实现, 单位 秒, 7200s 也就是 2h, 期间内重复获取 token 会刷新这个过期时间. 但也要实现 token 过去的逻辑, 查看 错误码 表 https://work.weixin.qq.com/api/doc/90000/90139/90313, 40014 是不合法的 access_token, 此时要重新获取新的 token

不能频繁调用这个获取 token 的api, 需要缓存 token. 参考官方说明:

缓存和刷新access_token 开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁调用gettoken接口,否则会受到频率拦截)。当access_token失效或过期时,需要重新获取。 access_token的有效期通过返回的expires_in来传达,正常情况下为7200秒(2小时),有效期内重复获取返回相同结果,过期后获取会返回新的access_token。 由于企业微信每个应用的access_token是彼此独立的,所以进行缓存时需要区分应用来进行存储。 access_token至少保留512字节的存储空间。 企业微信可能会出于运营需要,提前使access_token失效,开发者应实现access_token失效时重新获取的逻辑。

推送消息

通过 post 请求

https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=tokenCCC -- post 参数 { "touser": "hello@world.com", // 企业微信邮箱就是 userId, 多人使用 | 分割, 如 hello@world.com|hello@world.com "msgtype": "text", "agentid": "agentidEEE", "text": { "content": "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。" }, } -- 返回值 json { "errcode": 0, "errmsg": "ok", "invaliduser": "" }

结果


markdown 内容

请求参数

args = { "touser": "hello@world.com", "agentid": "agentidEEE", # markdown "msgtype": "markdown", "markdown": { "content": """您的会议室已经预定,稍后会同步到`邮箱` > **事项详情** > 事 项:<font color=\"info\">开会</font> > 组织者:@miglioguan > 参与者:@miglioguan、@kunliu、@jamdeezhou、@kanexiong、@{0} > > 会议室:<font color=\"#00b32d\">广州TIT 1楼 301</font> > 日 期:<font color=\"#cc9900\">2018年5月18日</font> > 时 间:<font color=\"#808080\">上午9:00-11:00</font> > 时 间:<font color=\"#ff0000\">错误</font> > > 请准时参加会议。 > > 如需修改会议信息,请点击:[修改会议信息](https://work.weixin.qq.com)""".format("yangx") },

结果


最新回复(0)