精华内容
下载资源
问答
  • 企业微信API封装 <groupId>com.github.shuaidd</groupId> <artifactId>qywx-spring-boot-starter <version>2.1.0 使用示例 配置application.yml qywx: corp-id: xxxx(企业号) application-list: - secret:...
  • 本项目是基于个人喜好及实际开发需求进行编写和设计的,主要功能是完成了对微信企业号API的封装,目前还在不断完善中,通过调用本项目的类库和函数,可以实现调用微信企业号API,降低了开发成本,开发者可以不用再...
  • ASP版 企业微信API之授权登录 ASP版 企业微信API获取用户信息 ASP版 企业微信API获取用户openid
  • 使用Delphi对接企业微信API,例子中演示了如何通过Delphi获取Token,获取部门成员,进行消息推送。测试时需要对下载源码中的TestForm.pas进行修改,仅需要将企业微信的一些信息替换成自己的。编译出来的exe需要和...
  • 企业微信APIES6版本

    2019-08-12 05:45:18
    企业微信API(ES6版本)
  • 企业微信api接口实现

    2018-07-27 15:48:47
    企业微信api接口实现 企业微信api接口实现 企业微信api接口实现
  • 企业微信api接口,企业微信sdk 1、企业微信SDK接口API调用-企业微信好友收发消息 /** * 给企业微信好友发消息 * @author wechat:happybabby110 * @blog http://www.wlkankan.cn */ @Async public void ...

    企业微信api接口,企业微信sdk

    1、企业微信SDK接口API调用-企业微信好友收发消息  

        /**
         * 给企业微信好友发消息
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                TalkToFriendTaskMessage.Builder bd = TalkToFriendTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                TalkToFriendTaskMessage req = bd.build();
            
                // 将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TalkToFriendTask, vo, req);

            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

        /**
         * 企业微信好友发来聊天消息
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                FriendTalkNoticeMessage req = vo.getContent().unpack(FriendTalkNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req));
                
                log.debug(LocalDateTime.now()+" 微信好友发来聊天消息  对应的线程名: "+Thread.currentThread().getName());
                   
                //消息转发到pc端
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.FriendTalkNotice, req);
                 
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
                 
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), e.getMessage());
            }
        }

    2、企业微信SDK接口API调用-通过手机号或微信好友添加客户

        /** 
         * 企业微信搜索手机号添加微信
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
     
        public  void handleMsg(ChannelHandlerContext ctx ,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                AddCustomerFromSearchTaskMessage.Builder bd = AddCustomerFromSearchTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                AddCustomerFromSearchTaskMessage req = bd.build();
            
                // 将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromSearchTask, vo, req);

            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }
       

        /** 
         * 从企业微信好友中添加客户
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
     
        public  void handleMsg(ChannelHandlerContext ctx ,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                AddCustomerFromWxTaskMessage.Builder bd = AddCustomerFromWxTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                AddCustomerFromWxTaskMessage req = bd.build();
            
                // 将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromWxTask, vo, req);

            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

    3、企业微信SDK接口API调用-触发企业微信推送联系人列表

        /**
         * 触发推送企业微信联系人列表任务
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                CommonTriggerTaskMessage req = bd.build();
                 
                //将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerContactPushTask, vo, req);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

        /**
         * 企业微信推送联系人列表
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                ContactPushNoticeMessage req = vo.getContent().unpack(ContactPushNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req)); 
            
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ContactPushNotice, req);
                
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
            }
        }

     

    4、企业微信SDK接口API调用-触发企业微信推送会话列表

       /**
         * 触发企业微信推送会话列表任务
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                CommonTriggerTaskMessage req = bd.build();
                 
                //将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerConversationPushTask, vo, req);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

       /**
         * 企业微信聊天会话列表推送 
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                ConversationPushNoticeMessage req = vo.getContent().unpack(ConversationPushNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req)); 
            
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ConversationPushNotice, req);
                
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
            }
        }

     

    5、企业微信SDK接口API调用-触发推送企业微信微信好友

       /**
         * 触发企业微信推送微信好友列表
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                CommonTriggerTaskMessage req = bd.build();
                 
                //将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerWechatFriendPushTask, vo, req);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

       /**
         * 企业微信好友列表推送,用于从微信好友中添加客户
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                WxFriendPushNoticeMessage req = vo.getContent().unpack(WxFriendPushNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req)); 
            
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.WxFriendPushNotice, req);
                
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
            }
        }

    展开全文
  • api.getWxConfigParams({ corpId: Config.corpId, ticketType: 2, url: encodeURIComponent(window.location.href.split('#')[0]), f: 1// 游客态可以查询 }).then(res => { if (res.code === 0) { const {...

    引入配置信息

    1. 接口获取配置信息
    api.getWxConfigParams({
       corpId: Config.corpId,
       ticketType: 2,
       url: encodeURIComponent(window.location.href.split('#')[0]),
       f: 1// 游客态可以查询
    }).then(res => {
        if (res.code === 0) {
          const { appId, nonceStr, signature, timeStamp } = res.data
        //执行第二步
        } else {
          console.error(res.msg)
        }
    })
    
    1. 配置需要使用的功能
    // 企业级注入
    const data = {
      beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
      debug: false,
      appId,
      nonceStr,
      signature,
      timestamp,
      jsApiList: [...jsApiList] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
    }
    wx.config(data)
    
    // 应用级注入
    const data = {
      corpid: corpId, // 必填,企业微信的corpid,必须与当前登录的企业一致
      agentid: agentId + '', // 必填,企业微信的应用id (e.g. 1000247)
      timestamp, // 必填,生成签名的时间戳
      nonceStr, // 必填,生成签名的随机串
      signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
      jsApiList: [...agentJsApiList], // 必填
      success: function (res) {
        console.warn('injectAgentConfig success', res)
        success && success()
      },
      fail: function (res) {
        console.error('injectAgentConfig fail', res)
        fail && fail()
      }
    }
    wx.agentConfig(data)
    
    1. 隐藏微信自带菜单项
    wx.ready(function() {
      wx.hideMenuItems({
          menuList: ["menuItem:copyUrl","menuItem:editTag","menuItem:delete","menuItem:originPage","menuItem:readMode", "menuItem:openWithQQBrowser", "menuItem:openWithSafari","menuItem:share:email","menuItem:share:brand","menuItem:share:qq","menuItem:share:QZone"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
      });
    });
    
    // 传播类
    // 发送给朋友: "menuItem:share:appMessage"
    // 分享到朋友圈: "menuItem:share:timeline"
    // 分享到QQ: "menuItem:share:qq"
    // 分享到Weibo: "menuItem:share:weiboApp"
    // 收藏: "menuItem:favorite"
    // 分享到FB: "menuItem:share:facebook"
    // 分享到 QQ 空间/menuItem:share:QZone
    
    // 保护类
    // 编辑标签: "menuItem:editTag"
    // 删除: "menuItem:delete"
    // 复制链接: "menuItem:copyUrl"
    // 原网页: "menuItem:originPage"
    // 阅读模式: "menuItem:readMode"
    // 在QQ浏览器中打开: "menuItem:openWithQQBrowser"
    // 在Safari中打开: "menuItem:openWithSafari"
    // 邮件: "menuItem:share:email"
    
    1. 注意点
    // 1. 应用级注入要保证已经注入了企业级,并且agentConfig是企业级jsApiList中的一种功能,需要添加,一般企业级的功能和微信差不多,这里就不描述了,具体可以查看开发文档
    // 2. 应用级的jsApiList中有 将H5页面通过个人群发发送给客户(shareToExternalContact)、聊天工具栏分享消息到会话(sendChatMessage)、打开添加客户页面(navigateToAddCustomer)等功能,使用时可以对应文档添加(注:企微开发文档中提供的api记得查看是在那个注入下,使用时添加到对应的jsApiList下)
    // 3. 企业微信的api不是每一个都需要使用agentConfig,需注意每个接口的说明
    

    注: 同一个页面不能重复引入配置信息,回导致配置失效;禁用企业微信右上角三个点的时候,一般要先在配置信息里隐藏再显示,且配置只适合当前操作页面,跳转后如果需要隐藏需要重新配置

    具体功能可以参考企业微信开发文档企业微信jsdk-api-dome文档

    企业微信开发本地代理–charles

    1.下载安装charles
    在马可波罗上下载对应的安装包,解压后会看见一个 SN.rtf 文件里面有注册号,安装提示需要填入注册号的时候填入即可,下载地址如下:mac破解版下载
    2.charles代理配置
    配置代理接收设置----配置代理地址----开启本地代理
    抓取http/https配置
    配置代理地址
    开启本地代理
    设置好对应的代理地址,打开对应的企业微信内置应用,就能把企业微信代理到电脑本地进行开发调试了.由于没有使用微信开发者工具开发企业微信,所以前期会先使用mock登录的方式开发联调,基本通了之后会上测试环境进行调测,这个时候就要使用上述方式进行修改,特别是一些只运行在企微环境的api
    3.手机代理本地
    手机代理本地需要下载对应的证书,先保证手机运行的环境和电脑在同一个局域网下,一般保证同一个Wi-Fi即可,选中对应的wifi之后打开手动代理,修改代理的ip和端口,如下图大码的部分即为需要修改的ip,端口一般都是8888.点击代理之后charles会弹出一个是否允许代理的弹框,点击allow即可.证书的下载地址为图下红框标注的地方,以小编红米手机为例,用非手机自带浏览器打开即可安装,如果不能安装可以先把证书下载到本地,之后使用 从SD卡安装 安装,安装好中后配置对应的手机代理即可.如果所有都检查之后发现还是没有代理到,可以多在手机上刷新几次.
    手机代理本地
    下载证书到电脑

    展开全文
  • 企业微信API&群机器人配置

    千次阅读 2021-03-12 10:04:36
    我们公司用的企业微信,会把相关开发或者运维拉到一个群里,然后配置上一个群机器人,这样的话就可以用企业微信API来配置群机器人接收消息,把一些日常的服务器或者日志告警发送到对应的群。 以下介绍两种常用的消息...

    我们公司用的企业微信,会把相关开发或者运维拉到一个群里,然后配置上一个群机器人,这样的话就可以用企业微信API来配置群机器人接收消息,把一些日常的服务器或者日志告警发送到对应的群。
    以下介绍两种常用的消息发送类型:文本类型和文件类型

    发送文本类型的消息

    1. 文本消息示例
    {
        "msgtype": "text",
        "text": {
            "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
            "mentioned_list":["wangqing","@all"],  #可选
            "mentioned_mobile_list":["13800001111","@all"]  #可选
        }
    }
    
    1. 假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa,webhook是创建机器人的时候生成的特有的
    2. shell中的curl调用API发送示例
    result='{"msgtype": "text","text": { "content": "'$(hostname)'_'$ip'_'server alert test'"}}'
    curl "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa" -H 'Content-Type: application/json' -d "$result"
    

    发送文件类型的消息

    1. 先上传文件,得到一个media_id,该media_id三天有效
    请求方式:POST(HTTPS)
    请求地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=KEY&type=TYPE(KEY是webhook地址,TYPE这里是file)
     curl请求示例
     curl --location --request POST 'https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa&type=file' \
    --form 'Content-Disposition="form-data"' \
    --form 'name="media"' \
    --form 'filename="wework.txt"' \
    --form 'boundary=@"/tmp/test.py"'
    可以理解为把这个文件发送到企业微信的一个临时云端保存
    
    1. 得到media_id之后,通过这个id去企业微信临时保存的拉取,发送到群里
    第1步返回的数据结果
    {
       "errcode": 0,
       "errmsg": "ok",
       "type": "file",
       "media_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0",
       "created_at": "1380000000"
    }
    接下来通过curl去发送消息到api,把这个文件发送到对应webhook的群里
    result={"msgtype": "file","file": {"media_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0"}}
    curl "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa" -H 'Content-Type: application/json' -d "$result"
    注意要求文件大小在5B~20M之间
    
    1. 分享我用python写的一个发送文件的脚本
    #脚本的作用就是每天调用一个python脚本筛选生成一个日志文件,然后把这个日志文件发送到企业微信
    
    #!/usr/bin/env python
    #coding:utf-8
    import requests,datetime,os,json
    today=datetime.datetime.now().strftime("%Y-%m-%d")
    onedayago = (datetime.datetime.now() + datetime.timedelta(days=-1)).strftime("%Y-%m-%d")
    os.system('python /tmp/tool/get_log.py %s~%s' %(onedayago,today))
    logfile="/tmp/test_log_%s_%s.txt" %(onedayago,today)
    filename="test_log_%s_%s.txt" %(onedayago,today)
    
    if os.path.isfile(logfile):
        url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa&type=file"
        payload={'Content-Disposition': 'form-data','name': 'media','filename': 'wework.txt'}
        files=[('boundary',('%s' %filename,open('%s' %logfile,'rb'),'application/octet-stream'))]
        headers = {}
        response = requests.request("POST", url, headers=headers, data=payload, files=files)
        mediaid = response.json()['media_id']
        url2 = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa"
        headers2 = {'Content-Type': 'application/json'}
        payload2 = {"msgtype": "file","file": { "media_id": "%s" %mediaid}}
        requests.request("POST", url2, headers=headers2, data=json.dumps(payload2))
    

    参考链接:https://open.work.weixin.qq.com/api/doc/90000/90136/91770

    展开全文
  • 企业微信api,企业微信sdk接口 1、企业微信SDK接口API调用-企业微信好友收发消息 /** * 给企业微信好友发消息 * @author wechat:happybabby110 * @blog http://www.wlkankan.cn */ @Async public void ...

    企业微信api,企业微信sdk接口

    1、企业微信SDK接口API调用-企业微信好友收发消息  

        /**
         * 给企业微信好友发消息
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                TalkToFriendTaskMessage.Builder bd = TalkToFriendTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                TalkToFriendTaskMessage req = bd.build();
            
                // 将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TalkToFriendTask, vo, req);

            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

        /**
         * 企业微信好友发来聊天消息
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                FriendTalkNoticeMessage req = vo.getContent().unpack(FriendTalkNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req));
                
                log.debug(LocalDateTime.now()+" 微信好友发来聊天消息  对应的线程名: "+Thread.currentThread().getName());
                   
                //消息转发到pc端
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.FriendTalkNotice, req);
                 
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
                 
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), e.getMessage());
            }
        }

    2、企业微信SDK接口API调用-通过手机号或微信好友添加客户

        /** 
         * 企业微信搜索手机号添加微信
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
     
        public  void handleMsg(ChannelHandlerContext ctx ,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                AddCustomerFromSearchTaskMessage.Builder bd = AddCustomerFromSearchTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                AddCustomerFromSearchTaskMessage req = bd.build();
            
                // 将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromSearchTask, vo, req);

            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }
       

        /** 
         * 从企业微信好友中添加客户
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
     
        public  void handleMsg(ChannelHandlerContext ctx ,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                AddCustomerFromWxTaskMessage.Builder bd = AddCustomerFromWxTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                AddCustomerFromWxTaskMessage req = bd.build();
            
                // 将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.AddCustomerFromWxTask, vo, req);

            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

    3、企业微信SDK接口API调用-触发企业微信推送联系人列表

        /**
         * 触发推送企业微信联系人列表任务
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                CommonTriggerTaskMessage req = bd.build();
                 
                //将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerContactPushTask, vo, req);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

        /**
         * 企业微信推送联系人列表
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                ContactPushNoticeMessage req = vo.getContent().unpack(ContactPushNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req)); 
            
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ContactPushNotice, req);
                
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
            }
        }

     

    4、企业微信SDK接口API调用-触发企业微信推送会话列表

       /**
         * 触发企业微信推送会话列表任务
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                CommonTriggerTaskMessage req = bd.build();
                 
                //将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerConversationPushTask, vo, req);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

       /**
         * 企业微信聊天会话列表推送 
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                ConversationPushNoticeMessage req = vo.getContent().unpack(ConversationPushNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req)); 
            
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.ConversationPushNotice, req);
                
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
            }
        }

     

    5、企业微信SDK接口API调用-触发推送企业微信微信好友

       /**
         * 触发企业微信推送微信好友列表
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx,TransportMessage vo, String contentJsonStr) {
            try {
                log.debug(contentJsonStr);
                CommonTriggerTaskMessage.Builder bd = CommonTriggerTaskMessage.newBuilder();
                JsonFormat.parser().merge(contentJsonStr, bd);
                CommonTriggerTaskMessage req = bd.build();
                 
                //将消息转发送给手机客户端
                asyncTaskService.msgSend2Phone(ctx, String.valueOf(req.getWxId()), EnumMsgType.TriggerWechatFriendPushTask, vo, req);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendJsonErrMsg(ctx, EnumErrorCode.InvalidParam, Constant.ERROR_MSG_DECODFAIL);
            }
        }

       /**
         * 企业微信好友列表推送,用于从微信好友中添加客户
         * @author wechat:happybabby110
         * @blog http://www.wlkankan.cn
         */
        @Async
        public  void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {
            try {
                WxFriendPushNoticeMessage req = vo.getContent().unpack(WxFriendPushNoticeMessage.class);
                log.debug(JsonFormat.printer().print(req)); 
            
                asyncTaskService.msgSend2pc(String.valueOf(req.getWxId()), EnumMsgType.WxFriendPushNotice, req);
                
                // 告诉客户端消息已收到
                MessageUtil.sendMsg(ctx, EnumMsgType.MsgReceivedAck, vo.getAccessToken(), vo.getId(), null);
            } catch (Exception e) {
                e.printStackTrace();
                MessageUtil.sendErrMsg(ctx, EnumErrorCode.InvalidParam,vo.getId(), Constant.ERROR_MSG_DECODFAIL);
            }
        }

    展开全文
  • 企业微信api,企业微信sdk接口 1、企业微信SDK接口API调用-企业微信好友收发消息 /** * 给企业微信好友发消息 * @author wechat:happybabby110 * @blog http://www.wlkankan.cn */ @Async public void ...
  • 企业微信API使用基本教程

    千次阅读 2020-09-10 16:23:39
    企业微信创建自建应用 登录企业微信后台,在“应用管理>自建”中点击“创建应用”,填写应用信息创建。 API配置表参数值获取 1、corpid:企业ID。在企业微信后台的“我的企业>企业信息”中获取。 2、...
  • 企业微信api消息接口调用-企业微信好友收发消息 /** * 给企业微信好友发消息 * @author wechat:happybabby110 * @blog http://www.wlkankan.cn */ @Async public void handleMsg(ChannelHandlerContext ctx, ...
  • H5 调用企业微信API

    千次阅读 2020-12-08 22:35:39
    H5 调用企业微信API前言一、环境二、使用步骤1.js引用2.config接口注入权限验证配置3.生成access_token4.生成jsapi_ticket5.生成noncestr 随机字符串 (len随机字符串上度)(方法是复制过来的)5.生成timestamp...
  • 企业微信api消息接口调用-企业微信好友收发消息 /** * 给企业微信好友发消息 * @author wechat:happybabby110 * @blog http://www.wlkankan.cn */ @Async public void handleMsg(ChannelHandlerContext ctx, ...
  • Vue + Axios + Nginx 实现调用企业微信API详细过程一、思路2.读入数据二、思路2.读入数据总结 一、思路 先捋清楚整体的步骤: 1、首先需要从企业微信管理后台拿到企业ID和应用的Secret 2.读入数据 代码如下(示例)...
  • 企业微信API接口

    千次阅读 2019-12-20 15:22:01
    对于众多企业来说企业微信是一个新的机遇,企业微信API接口功能也让众多企业备受关注。 企业微信服务端API: 企业微信服务端开放了丰富的API,企业的开发者能够凭借接口,实现企业特有的服务和与企业微信的集成。...
  • python3调用企业微信api 最后更新时间:2020/5/11 前段时间,我将企业微信官方提供的python接口代码的部分功能修改成了python3的,并且自己也使用并测试过部分功能; 因为并没有将公司的敏感信息抹去,所以代码...
  • 本文主要向大家分享了Python3调用微信企业号API发送文本消息示例的有关代码,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib.request import json import sys import logging touser = '@...
  • ![图片说明](https://img-ask.csdn.net/upload/202009/28/1601278194_220332.png) 企业微信回复消息时,需要响应一条数据过去。 response如何写?
  • 企业微信SDK接口API调用-触发推送企业微信联系人列表 /** * 触发推送企业微信联系人列表任务 * @author wechat:happybabby110 * @blog http://www.wlkankan.cn */ @Async public void handleMsg...
  • 企业微信API-https请求模板-获取access_token-Java

    千次阅读 多人点赞 2021-02-18 13:54:59
    本文主要介绍,如何使用Java代码,发起企业微信API支持的HTTPS请求,获取access_token
  • 因为项目需求, 需要把企业微信上面的审批搬到公司的后台, 需要对接企业微信API的审批, 里面有一个功能是上传附件, 可是我看了, 文档写的不是很清楚, 什么form-data什么的, 看的我云里雾里的, 还以为是header头 ...
  • 企业微信api对接

    2020-12-19 16:13:55
    用的是wxJava,但是wxJava文档真滴不清楚,都是jar全局搜索url/看...这个api不说,我哪知道啊,是强转失败,想试试".get",没想到还真出来了个getOAService private WxCpService wxCpService = WxCpConfiguration.g
  • 简单封装一个调用企业微信API程序发送文本,图片,及文件消息。
  • python3调用企业微信api

    2020-04-24 16:23:25
    python3调用企业微信api 前段时间,我将企业微信官方提供的python接口代码的部分功能修改成了python3的,并且自己也使用并测试过; 因为并没有将公司的敏感信息抹去,所以代码一直没有更新到github; 等度过了...
  • 官方文档:http://work.weixin.qq.com/api/doc#10025 2,获取应用 官方文档: http://work.weixin.qq.com/api/doc#10087 # -*- coding:UTF-8 -*- import urllib2 import urllib import json def get_access_token(....
  • 调用企业微信API给用户发消息

    千次阅读 2020-10-26 09:36:22
    详细需求:监控一个应用的某些指标超标了,要提醒用户,通过企业微信给指定用户发送告警信息;今日自己实现了一下,总结出来分享给大家。 注意:代码亲自编写,已自测通过 文章目录前言一、编码?1.依赖2.SendWX....
  • Mendix实现调用企业微信API发送企业内部系统消息,只需要五分钟便可轻松实现!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,430
精华内容 15,772
关键字:

企业微信api