Python|实现泛微E-Mobile消息发送对接
前面已经研究过如何通过微信、钉钉进行消息通知,但公司内部还在使用泛微的E-Mobile通讯工具,部分涉密信息还是通过内部通讯工具发送比较合适。今天研究下如何通过python实现E-Mobile的消息通知。
分析过程
供应商提供了一个接口文档《E9二开、第三方系统推送消息》, 但这种方式需要在ecology的消息中心进行配置。而我实际的使用需求仅仅是通过python将消息推送到emobile。
在跟厂商确认后得知,泛微没有针对emobile的接口文档。后来我曾想过通过抓包工具抓取客户端的请求体,不过没有成功。
在emobile的管理后台我发现了这样一个功能:可以创建一个消息型应用,通过发送消息的功能实现类似消息通知/消息广播的场景。
分析该页面的网络请求很容易就找到了请求地址和请求体:
之后分别获取了文本、图片、文件、分享几种场景的请求体,通过python调用测试满足需求:
源码文件
1 |
|
e-mobile数据库的连接
涉及图片、文件消息发送时需要media_id值,该值记录在e-mobile的mysql数据库中(表名:em_sys_base_file)。而mysql数据库默认是不允许远程连接的,需要调整用户权限,允许远程连接。操作方式如下:
1、打开命令行或终端,进入移动平台安装根目录,执行以下命令
windows: dbsvr\mysql\bin\mysql -P 4806 -u root -p
linux: /usr/emp/dbsvr/mysql/bin/mysql -u root -p --socket=/usr/emp/data/mysqldata/mysql.sock
2、输入密码并回车
3、输入sgl语句:
create user ‘root’@’%’ identified with mysql_native_password by ‘mysql的密码’;
4、输入sql语句:
grant all privileges on . to ‘root’@’%’;
回车
5、输入sql语句:
flush privileges;
回车
商业转载请联系作者获得授权,非商业转载请注明出处。
如果文章对你有帮助,欢迎点击上方按钮打赏作者