zoukankan      html  css  js  c++  java
  • 企业微信接收消息与事件&完结篇

    概述

    在前面的文章中,介绍了如何创建个人企业账号以及在企业账号中自建应用,这里就继续介绍如何让自己自建的应用能够与我们的业务交互,也就是接收消息和事件~

    关于这部分内容,官网也给了具体的解释:

    为了能够让自建应用和企业微信进行双向通信,企业可以在应用的管理后台开启接收消息模式。
    开启接收消息模式的企业,需要提供可用的接收消息服务器URL。
    开启接收消息模式后,用户在应用里发送的消息会推送给企业后台。此外,还可配置地理位置上报等事件消息,当事件触发时企业微信会把相应的数据推送到企业的后台。
    企业后台接收到消息后,可在回复该消息请求的响应包里带上新消息,企业微信会将该被动回复消息推送给用户。

    除了上述的介绍外,官网有具体引导:接收消息与事件

    自建应用

    开启接收消息与事件

    开启应用消息接收

    在企业的管理端后台,进入需要设置接收消息的目标应用,点击“接收消息”的“设置API接收”按钮,进入配置页面。

    先给大家展示下笔者这里的配置:

    image

    除了URL需要自己配置,Tokne和EncodingAESKey都是随机获取的;

    这里的url,为笔者公司公网IP所对应的域名,加上路由器上的自定义转发端口,转发到内网我指定的一台设备上去,这台设备上,就搭建了我使用Python的web.py框架部署的服务,来跟自建应用之间做交互,URL中匹配的“recvmsg”,是我服务的路由之一~标识匹配后端的接收消息模块。

    注意:在配置接收消息服务器的url之前,你需要先把你的服务开起来,并保证能够正确响应请求,回复参数,这样你的服务器配置才能正确的提交上去~

    因为在你点击保存按钮的时候,企业微信回去验证你URL的有效性~官网的接收消息与事件有详细说明,所以,后面的重点就是先把代码部分撸起来。

    代码

    前面说到后端服务使用web.py,关于web.py的相关知识,这里就不详细描述了。

    首先对整个项目涉及到的部分做个概览,后面再对每个部分做详解:

    root@saier-zj-online-game-192:~/zj/gm_tools# tree . 
    .
    ├── callback			 #官方提供的加解密模块,不需要编辑
    │   ├── ierror.py
    │   ├── ierror.pyc
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── Readme.txt
    │   ├── Sample.py
    │   ├── WXBizMsgCrypt3.py
    │   ├── WXBizMsgCrypt.py
    │   └── WXBizMsgCrypt.pyc
    ├── command.py					#指令操作模块
    ├── command.pyc
    ├── config.py					#配置参数模块
    ├── config.pyc
    ├── gm_push.py					#进程控制脚本
    ├── gm_push.pyc
    ├── handler.py					#路由所对应的全部方法
    ├── handler.pyc
    ├── keys						#远程连接使用到的密钥
    │   └── all
    ├── log							#日志目录
    │   ├── WXCommand.log
    │   └── WXManager.log
    ├── manage_msg.py				#核心逻辑处理模块
    ├── manage_msg.pyc
    ├── nohup.out
    ├── restart.sh					#服务控制脚本
    ├── urls.py						#路由模块
    └── urls.pyc
    

    关于配置接受消息与事件所涉及到的代码,以及后续所有功能和回调代码,想了想还是大家自己去GitHub上看吧,没必要一句一句来剖析;

    本想着写一部连续文章的,想想还是到这里结束掉好了,大家有问题的可以给我留言,祝顺利。

    GitHub地址:https://github.com/caijijian/qywx

  • 相关阅读:
    Linux学习65 实战使用awk高级功能统计网络请求连接状态
    Linux学习64 awk使用与实战
    Linux学习63 shell脚本高级编程-信号捕捉实战
    Linux学习62 shell脚本高级编程-数组和字符串处理
    Linux学习61 企业军工级别安全策略-SELinux简介
    Linux学习60 centos7新特性-systemd及systemctl实战
    Linux学习59 shell脚本高级用法-函数编程与应用实战
    【HBase】HBase与MapReduce的集成案例
    【HBase】底层原理
    【HBase】Java实现过滤器查询
  • 原文地址:https://www.cnblogs.com/storyawine/p/15569394.html
Copyright © 2011-2022 走看看