最近给公司测试组内部开发一个记账小工具,当账目出现问题的时候需要发送消息通知大家,前期主要采用的QQ发送通知消息,但是有一天突然无法连接到QQ服务器,运维的同学建议采用微信的方式对接然后进行告警,所以这里采用微信的企业号进行消息发送,微信企业号目前已经变更为企业微信,所以需要注册一个企业微信;

一、获取企业微信接口文档,实现消息发送;

  1.采用创建发送应用消息,企业微信接口文档:https://work.weixin.qq.com/api/doc#90000/90135/90664;

    企业微信提供了好几种发送消息的模式,主要应用支持推送文本、图片、视频、文件、图文等类型;

    

  2.我这里主要作用是发送消息告诉想过成员,那么我这里只要发送文件消息即可,下面看下发送消息的接口定义

 3、根据接口定义获取我们需要的相关信息,首先我需要获取access_token,我们查看下获取access_token接口文档

   根据接口文档,获取access_token值,我们需要获取Corpid和SECRECT这两个参数,发送消息我们需要知道关键参数agentid,toparty;

二、获取相应的参数,为接口请求创造条件

  1.注册成功以后需要我们创建一个应用;

  

  2. 应用创建成功,我们需要配置可见范围,配置这里主要为了后期发送消息,可以指定用户组,这里有几个字段很关键,Agentid,Secret;

  

  3.获取企业微信corpid值

 

三、获取相应参数以后通过python 实现自动发送消息

# 获取微信access_token
def get_token():
payload_access_token = {'corpid': 'wwfcdce534bxxxxx', 'corpsecret': '-hpCA42o4cm1DzgSfS23XtEZ93ZI3VNwDgcP-xxxxxUd4X6Q'}
token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
r = requests.get(token_url, params=payload_access_token)
dict_result = (r.json())
return dict_result['access_token'] def send_message():
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % get_token()
data = {"toparty": 1, "msgtype": "text", "agentid": xxxxx, "text": {"content": "提现成功"}, "safe": 0}
data = json.dumps(data, ensure_ascii=False)
r = requests.post(url=url, data=data.encode("utf-8").decode("latin1"))
return r.json() if __name__ == '__main__':
send_message()

这样我们就可以将消息发送至对应的用户组,这里需要注意access_token 的有效期7200s,而且接口的请求次数有限制,所以我们需要对返回的token值进行缓存,可以存储在redis或者MySQL,过期以后进行重复获取;

四、微信接收企业微信的消息;

  一般情况接收企业微信需要安装企业微信单独的程序,这样显示的很不方便,所以需要关系下个人微信;

  通过连接微信->微信工作台->邀请关注 下载对应的二维码即可,个人微信关注以后就可以直接接收消息,其实这个过程跟不关注公众号一样;

 

通过企业微信API接口发送消息的更多相关文章

  1. 面向对象的全套“企业微信”api接口的代码实现,网上太多“面向过程”微信api接口的代码,这个开源给需要的人用

    有段时间没有写文章了. 一直以来,微信的热门是看得到的,很多人都需要与微信的api对接. 今天我这里就分享全套的企业微信api接口的代码. 关于微信api,网上已经有很多实现的了. 但是我今天之所以还 ...

  2. 01: 企业微信API开发前准备

    目录:企业微信API其他篇 01: 企业微信API开发前准备 02:消息推送 03: 通讯录管理 04:应用管理 目录: 1.1 术语介绍 1.2 开发步骤 1.1 术语介绍返回顶部 参考文档:htt ...

  3. 总结的一些微信API接口

    本文给大家介绍的是个人总结的一些微信API接口,包括微信支付.微信红包.微信卡券.微信小店等,十分的全面,有需要的小伙伴可以参考下. 1. [代码]index.php <?php include ...

  4. 微信通过openID发送消息/后台post、get提交并接收数据 C# .NET 配置404,500等错误信息 连接字符串

    微信通过openID发送消息/后台post.get提交并接收数据   控制器:下面是post发送消息(微信不支持从前台发送数据,之前试过,报错,需要跨域,跨域的问题解决后还不行,最后发现之后后端提交 ...

  5. java访问微信接口发送消息

    最近在开发activiti流程的时候有个需求:流程到达每个审批节点后,需要向该节点的审批人发送一个消息,提示有审批需要处理. 参考了一下微信的开发者文档和网络上的一些技术博客,现在记录一下.以便后续继 ...

  6. 使用微信api接口开发的框架

    <?php/** * 微信公众平台API */class WeixinChat{ private $token; private $appid; private $appsecret; priv ...

  7. 微信公众号发送消息模板(java)

    这段时间接触公众号开发,写下向用户发送消息模板的接口调用 先上接口代码 public static JSONObject sendModelMessage(ServletContext context ...

  8. Python 微信公众号发送消息

    1. 公众号测试地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 2. ...

  9. .Net Core 企业微信更新模版卡片消息

    1.搭建回调服务器 可参考:https://www.cnblogs.com/zspwf/p/16381643.html进行搭建 2.编写代码 2.1接口定义 应用可以发送模板卡片消息,发送之后可再通过 ...

随机推荐

  1. Jsの练习-数组常用方法 -forEach()

    forEach()  : 对数组进行遍历循环,对数组中的每一项运行给定函数. 格式: arr.forEach(function(value,index){}) <!DOCTYPE html> ...

  2. java proxy 转包

    package org.rx.socks.proxy; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; ...

  3. HTML+css基础认识

    标签:<div><span                                                                              ...

  4. selenium中下拉框的定位

    from selenium import webdriverfrom selenium.webdriver.support.select import Selectimport timedriver ...

  5. Linux 常用命令和使用技巧

    一.Shell命令 shell通配符------"*"."?"."[]" shell管道-------|把命令连接起来,把第一个命令的输出作 ...

  6. 设置eclipse联想功能

    当我们在用eclipse的时候,怎么能够让自己的编码速度加快?我想利用eclipse的提示功能是其中的方法之一.下面就利出配置eclipse联想功能(代码的提示功能)的步骤: 1. 打开Eclipse ...

  7. nova98 假区域链 骗人项目(vexx.pro的前身)

    首先,我是受害者. nova98前期是vexx.pro,前期推广送比特龙, 送3个,然后推广一个新人可以再拿到1.5个. 然后呢,现在就又推出一个新网站,nova98,把之前推广的人领到币全部清零,而 ...

  8. python pycharm pyqt 安装

    1.python3 windows:www.python.org/download/windows/ 我的是WIN7  64位所以选的是    Download Windows x86-64 exec ...

  9. String与StringBuffer之间的转换

    来源:http://www.oschina.net/code/snippet_2261089_47352 package demo; /* String与StringBuffer之间的转换 * Str ...

  10. GDB程序调试

    GDB使用流程 1.编译生成可执行文件: gcc -g tst.c -o tst2.启动GDB gdb tst3. 在main 函数处设置断点 break main4. 运行程序 run GDB 命令 ...