others-企业微信api


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

前置物料

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

消息推送

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

  1. 创建应用, 获取到 应用秘钥: 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失效时重新获取的逻辑。
      
  2. 推送消息

    通过 post 请求

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


markdown 内容

  • 请求参数

            args = {
          
          
                "touser": "[email protected]",
                "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")
                },
    
    • 结果


猜你喜欢

转载自blog.csdn.net/yangxuan0261/article/details/108369826