1. 背景

个人有个消息推送到任务,一直在飞书上跑,消息触达率太低,寻思着尝试用一些方法,将消息推送到微信。

2. 写在前面

坑1:寻思着企业微信有机器人,将机器人所在群拉上微信号,结果,企业微信不允许,外部群的功能不能有机器人。难搞!

坑2:去github上找项目,找到了个叫itchat的项目,可以实现给微信发消息,尝试一下,问题出在于现在的微信号不能用网页登陆。微信是真的猛,把路都堵死了

坑3:既然微信发不了消息,公众号总可以吧。给公众号开通了开发者权限,研究了一通。结论,部分接口服务号无权限调用,只有订阅号才可以,无语。

最后,回过头去研究企业微信,找到了一种平替的方法。效果如下:

3. 步骤

3.1 准备提前准备自己的企业微信

(此步骤省略,不懂的自己度娘)

3.2 建立应用

流程:企业微信网页版首页 >> 应用管理 >> 自建【模块】>> 创建应用。
输入相应的应用名称及头像即可。

3.3 消息推送相关api文档

api文档传送门:发送应用消息

3.3.1 准备corpid、corpsecret、agentId

corpid说明:
位置:企业微信网页版首页 >> 我的企业。找到企业ID,即:corpid。
corpsecret说明:
位置:企业微信网页版首页 >> 应用管理 >> ${自己刚创建的应用}。
查看,并发送相应的secret。如下图。

agentid说明:上述secret上面的agentid便是我们需要的agentid。

3.3.2 兑换access_token

通过企业微信提供的调试工具,方便操作。从开发者中心进入。

在下面填入corpid、corpsecret就可以。

3.3.3 发送应用消息

填入相应的access_token及消息体。如下。

这里有个问题,touser、toparty、totag三个参数应该怎么填?
研究了一下,user其实就是你的企业微信账号。

位置:通讯录 >> 成员。

toparty与totag,没研究。先pass。可直接不填。
修改完touser后,就可以直接调接口了。
如果出现报错,可以通过下面传送门查询:企微Error Code查询
本以为至此,大功告捷,没想到,把相应的接口,用postman调,接口给我来了个60020的报错。

大概原因是,需要添加白名单。

3.4 IP配置白名单

3.4.1 配置受信域

位置:首页 >> 应用管理 >> ${自己刚创建的应用}。
先到「网页授权及JS-SDK」配置可信域名。
小白的开发者没有可信域名,实在难受。
找了很久,找到了一种白嫖的方法。
感谢小袁同学:配置受信域名方法
貌似现在阿里云的用不了,我用的是华为云,华为云具体方法在小袁同学的抖音号,需要的话,自己移步抖音。

3.4.2 配置ip白名单

点击上述图片的「企业可信IP」,输入你的ip,即可。

本以为至此就大功告捷。结果用postman一调,还有问题。

大概原因是,postman是第三方工具,走的是postman的ip。那咋们自己手撸代码本地调。

3.5 python本地调用api

demo如下:

import requests
access_token="${ACCESS_TOKEN}"
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?debug=1&access_token=%s" % (access_token)
data = {"touser": "${USERNAME}","toparty": "","totag": "","msgtype": "text","agentid": ${AGENTID},"text": {"content": "hello world!"},"safe": 0,"enable_id_trans": 0,"enable_duplicate_check": 0
}
response = requests.post(url=url, json=data)
print(response.text)

如果出现下面这种报错:

一方面检查一下你的json格式,还有一种原因,post的时候,将参数传给json即:json=data、而非data=data。
原因可以参考这位博主:企业微信机器人python脚本执行报错-‘errcode‘: 40008, ‘errmsg‘: ‘Warning: wrong json format. invalid message type
修改一下,终于可以收工了T T。

参考文章:
企业微信开发文档
企业微信Error Code查询
配置受信域名方法
企业微信机器人python脚本执行报错-‘errcode‘: 40008, ‘errmsg‘: ‘Warning: wrong json format. invalid message type

【个人开发】通过企业微信实现消息推送到个人微信相关推荐

  1. 企业微信推送消息延迟_一种基于企业微信的消息推送方法与流程

    本发明涉及消息推送技术领域,特别涉及一种基于企业微信的消息推送方法. 背景技术: 随着微信公众号的普及,微信企业号也越来越受到人们的关注.而腾讯公司在微信企业号的基础上又进行了进一步的升级,提供了类似 ...

  2. java 微信模板_java开发微信模板消息推送

    概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添 ...

  3. java开发微信模板消息推送

    完整demo下载 概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公 ...

  4. 5行代码实现微信模版消息推送,springboot实现微信推送,java微信推送

    视频讲解:https://edu.csdn.net/course/detail/23750 今天来带大家学习下微信模版消息推送. 先看效果图: 核心代码只有下面几行,即可轻松实现微信模版消息推送 // ...

  5. 国内APP消息推送机制以及微信消息延迟问题剖析

    转自:https://club.huawei.com/thread-15878044-1-1.html 一.前言 随着安卓手机以及QQ/微信/支付宝/滴滴出行/美图外卖等一大批移动通信/移动消费应用的 ...

  6. php 异步请求微信模板消息_php实现微信模板消息推送

    本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下 1.微信公众号模板消息配置 2.PHP代码/*** 发送模板消息*/ public function send_noti ...

  7. springboot实现微信模板消息推送

    springboot实现微信模板消息推送 在上一篇文章我们已经知道了怎么获取openid 还不知道的可以查看我的上一篇文章springboot+微信小程序用codeid换取openid 这次我们不光要 ...

  8. PHP之 微信模板消息推送 的相关代码

    温馨提示: 微信模板消息推送,得先去微信端,设置模板配置,会生成相应的消息模板id,这个是一串字符,需连同参数数据,传给微信端,切记!~ 第一部分:主体部分代码,负责业务模块,准备微信端所需参数 /* ...

  9. 微信小程序java后端开发记录(三):模板消息推送

    ·模板消息推送 1.1推送参数dto: 按照文档逐层次封装请求参数. 这些参数 /*** @author hanyy* @Description: 微信小程序模板消息推送参数* @date 2019/ ...

最新文章

  1. Web.config文件使用
  2. 问题集锦(48-51)
  3. Organization Unit buffer - OOATTRCUST
  4. 同一进程中的线程究竟共享哪些资源
  5. Jmeter测试并发https请求成功了
  6. python3 windows console 输出乱码问题
  7. [SSH] 为 GitLab 帐号添加 SSH keys
  8. [PyTorch] 深度学习框架PyTorch中的概念和函数
  9. NOIP2016DAY1题解
  10. objective-c 编程总结(第一篇)字符串操作
  11. 生产环境 JDK6 升级 JDK8
  12. JAVA计算机毕业设计电商后台管理系统Mybatis+系统+数据库+调试部署
  13. (总结归纳)常用电子元件,封装,库
  14. CSS3 background 与 渐变
  15. 最强大脑记忆曲线(1)
  16. 离开了公司,你还有什么
  17. html超链接调用php,html网页超链接怎么做
  18. aws lambda_借助AWS Elastic Beanstalk轻松进行Spring Boot部署
  19. 基本概念:线与逻辑、锁存器、缓冲器、建立时间、缓冲时间
  20. 【git】error: .repo/manifests/: contains uncommitted changes解决思路

热门文章

  1. C# 结合Halcon软件视觉窗体滚轮放大/双击放大/滚轮缩小/双击缩小/移动/自适应功能
  2. 鸿蒙武器排行榜,冰雪传奇:鸿蒙级别首饰你知道哪些
  3. 《误区:思维中常犯的6个基本错误》读书笔记
  4. 第二十课 【ERC1155实践】欧阳询书法复制品从确权设计到买卖测试
  5. ntp服务restrict_NTP服务配置文件说明
  6. 底部菜单栏之Fragment的详细介绍和使用方法
  7. [洛谷U871]building
  8. vue实现一个动效柱状图
  9. 红帽linux8重启网络命令,Centos8 重启网络服务 网络相关命令
  10. 【论文阅读】ARCNN