微信公众号模板消息推送测试Python版无需服务器-保姆级教程

手上有个项目,是服务器挂着自动化的爬虫的,但我用的那个IP代理商没有用尽报警,导致几次IP用尽,程序爬不到数据,进程死循环了。之前想过发邮箱提醒我,但是邮箱把又不及时,老忘记看,因为我QQ用的很少了,用的最多的就是微信,每天无论如何我都会打开微信看的,于是我想到公众号去提醒。看了看文档发现微信公众号的模板消息推送符合我的需求,于是开干。按照全文的步骤一步步来,绝对能搞定。
在这里插入图片描述

本文仅作为测试使用,后续会发Django版本的服务器自动推送的全教程

申请测试号

首先就是注册一个微信公众号了,随便注册就行了,但是如果你要上线使用,请记住申请服务号,至于服务号和订阅号的区别我这里不展开的的赘述,有相关需求的可以去微信官方查看。

注册完成后点击左侧 设置与开发 下面的 接口权限 也能简单看看这些相关功能所需要的公众号的类别。一般咱自己申请的就是个体号,基本没啥功能,就只能发发文章罢了。另外提一嘴,如果要正式上线做自动化推送的话,就需要公众号认证的,这玩意还要300块,但我看tb有那种几毛钱的,不是太懂有什么风险,懂哥可以留言。如果项目正经让公司出钱就行了。自己做工具用可以省钱找那种代认证。
在这里插入图片描述


注册完公众号后,开始进入测试号
位置:左侧导航栏 开发者工具 下的 公众平台测试账号

在这里插入图片描述

进入后会给你一个appID和一个appsecret,这个是关键参数,等会测试要用。这个接口配置信息这块不用管,暂时做本地测试,以后要上线测试再去配置这个东西

在这里插入图片描述


新增测试模板


点击新增测试模板,以下是正确格式

提示前缀 + {{xxx.DATA}}
然后你输完一个记得换行。到时候发送通知模板时候的排版就和你现在一样
在这里插入图片描述

提交后会得到一个模板ID(等下代码会用到)
在这里插入图片描述


最后就是扫码关注测试公众号了
关注了后会看到你的微信号昵称和一个微信号,这个微信号就是你这个微信号在此测试公众号中的唯一凭证。也叫做openId
在这里插入图片描述






至此已经有了4个值,分别是appIDappsecret模板IDopenId



实现步骤解析:(重点)
首先需要明确一个点,向微信api交互,都需要获得一个临时的token
然后你要干啥就访问啥接口,看清除文档要的是POST还是GET请求,在请求的哪里加上token,然后请求这个URL的时候要携带什么参数
最后直接发送这个请求,你想要做的事微信的服务器就会帮你做了

附上本文关键的API文档 (想深究的可以看看):

获取access token:
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html

发送模板消息:
https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#%E5%8F%91%E9%80%81%E6%A8%A1%E6%9D%BF%E6%B6%88%E6%81%AF



完整代码:

import requests
import jsonappID = "wx8ac3ded9236efe2a"
appSecret = "131b8d9d874af6f7dbf11d3b751ce6b2"
openId = "oHB4K6oJqzBh9FoM2J87KEfpS3Ro"def get_access_token():# 获取access token的urlurl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={}&secret={}' \.format(appID, appSecret)response = requests.get(url).json()print(response)access_token = response.get('access_token')return access_tokendef send_msg(access_token):# touser 就是 openID# template_id 就是模板ID# url 就是点击模板跳转的url# data就按这种格式写,time和text就是之前{{time.DATA}}中的那个time,先试试你就知道了,value就是你要替换DATA的值body = {"touser": openId,"template_id": "JHzQALjvNyjbqKehXZbtBYS-l_e1oowCeZrpTHQmN7U","url": "http://weixin.qq.com/download","data": {"time": {"value": "今天是8月11号","color": "#173177"},"text": {"value": "微信官方文档写的真的不清晰","color": "#173177"}}}url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={}'.format(access_token)print(requests.post(url, json.dumps(body)).text)if __name__ == '__main__':# 1.获取access_tokenaccess_token = get_access_token()# 2.发送模板消息send_msg(access_token)

代码解析:
其实注释也写的很清晰了,4个值都发挥了关键的作用。如果要上线取用的话,也基本上这个流程,要模板消息更多的使用方法,以及更sao的操作就去看我上面贴的文档。先这样写,测试成功后,你再自己尝试这里改改那里改改看看什么变化,就理解了。不懂的话留言,CSDN开了邮箱提醒很快能看到


效果展示:
电脑端
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/84882.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言必会题目(1)

W...Y的主页 😊 代码仓库分享❤️ 在学习语言时,最重要的就是练习,光听不练假把式。下面我就推荐一些C语言必会的题。 执行下面程序,正确的输出是( ) int x5,y7; void swap() { int z; zx; xy; yz; } int…

数字孪生三剑客来了!MapGIS Earth for Unreal的自述

嗨,大家好!我的名字叫MapGIS Earth for Unreal,是MapGIS数字孪生平台产品家族的一员。提起我,大家可能不熟悉,但是提起数字孪生,想必大家倍感兴趣。 数字孪生是充分利用物理模型、传感器更新、运行历史等数…

【git】解决遇到的问题

目录 一、error: RPC failed; curl 6 OpenSSL SSL_read: Connection was reset, errno 10054 二、error: RPC failed; curl 6 OpenSSL SSL_read: Connection was reset, errno 10054 一、error: RPC failed; curl 6 OpenSSL SSL_read: Connection was reset, errno 10054 报…

2023最新Windows编译ffmpeg详细教程,附msys2详细安装配置教程

安装MSYS2 msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。 类似的跨平台编译套件有:msys,cygwin,mingw 优势&…

MySQL8的特性-MySQL8知识详解

MySQL是一个多用户、多线程的SQL数据库服务器。SQL(结构化查询语言)是世界上最流行和标准化的数据库语言。下面是MySQL的特性。 1、开源性:MySQL是一个开源的关系型数据库管理系统,可以免费使用和修改。 2、可靠性:M…

DOCKER的容器

1. 什么是Container(容器) 要有Container首先要有Image,也就是说Container是通过image创建的。 Container是在原先的Image之上新加的一层,称作Container layer,这一层是可读可写的(Image是只读的&#xff0…

TOMCAT部署及优化(Tomcat配置文件参数优化,Java虚拟机(JVM)调优)

TOMCAT tomcat :是一个开放源代码的web应用服务器,基于java代码开发的。也可以理解为tomacat就是处理动态请求和基于java代码的页面开发。可以在html当中写入java代码,tomcat可以解析html页面当中的java,执行动态请求,…

Nvm安装与使用

【1】nvm下载地址 https://github.com/coreybutler/nvm-windows/releases 选择的是nvm-setup.exe 【2】安装nvm 打开cmd,输入命令nvm -v 查看nvm版本,出现如下界面说明成功 【3】nodejs 安装与管理 打开CMD命令,以管理员权限运行 1、…

如何维护自己的电脑

目录 1、关于电脑选择的建议 1.1、价格预算 1.2、明确需求 1.3、电脑配置 1.4、分辨率 1.5、续航能力 1.6、品牌选择 1.7、用户评测 1.8、各个电商平台对比 1.9、最后决策 2、我的选择 3、电脑保养 3.1 外部清洁 3.2 安装软件 3.3 优化操作系统 3.4 维护硬件设…

那些年的golang开发经验记录

goland 问题CreateProcess error216, 该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者 Cannot run program "......" (in directory "D:\project\go\awesomeProject\src\test"): CreateProcess error2…

Linux系列:从0到1用Docker部署springboot项目

目录 1.前提条件 2.编写DockerFile镜像文件 3.打包SpringBoot项目 4.通过软件Xftp进行传输(*) 1.点击“文件-新建”​编辑 5.操作远程主机 1.docker构建 2.容器运行 6.容器的关闭和删除 1.前提条件 Linux、docker、xftp的安装、一台可以访问的远…

GIL 锁或将在 CPython 中成为可选项

哈喽大家好,我是咸鱼 几天前有媒体报道称,经过多次辩论,Python 指导委员会打算批准通过 PEP 703 提案,让 GIL(全局解释器)锁在 CPython 中成为一个可选项 PEP 703 提案主要目标是使 GIL 变成可选项&#…

flink如何监听kafka主题配置变更

背景: 从前一篇文章我们知道flink消费kafka主题时是采用的手动assign指定分区的方式,这种消费方式是不处理主题的rebalance操作的,也就是消费者组中即使有消费者退出或者进入也是不会触发消费者所消费的分区的,那么疑问就来了&am…

【CSS】背景图定位问题适配不同机型

需求 如图, 实现一个带有飘带的渐变背景 其中头像必须显示飘带凹下去那里 , 需要适配不同的机型, 一不下心容易错位 实现 因为飘带背景是版本迭代中更新的, 所以飘带和渐变背景实则两个div 飘带切图如下 , 圆形部分需要契合头像 <view class"box-bg"><…

【脚踢数据结构】链表(1)

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言,Linux基础,ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的一句鸡汤&#x1f914;&…

电脑麦克风没声音?

这3招就可以解决&#xff01; 在我们使用电脑录制视频时&#xff0c;有时会遇到一个令人头疼的问题&#xff1a;麦克风没有声音。那么&#xff0c;为什么会出现这种情况呢&#xff1f;更重要的是&#xff0c;我们应该如何解决这个问题呢&#xff1f;本文将介绍3种方法&#xf…

uniapp 使用canvas画海报(微信小程序)

效果展示&#xff1a; 项目要求&#xff1a;点击分享绘制海报&#xff0c;并实现分享到好友&#xff0c;朋友圈&#xff0c;并保存 先实现绘制海报 <view class"data_item" v-for"(item,index) in dataList" :key"index"click"goDet…

利用ChatGPT绘制思维导图——以新能源汽车竞品分析报告为例

随着人们对环境保护的日益关注和传统燃油汽车的限制&#xff0c;全球范围内对新能源汽车的需求不断增长。新能源汽车市场的激烈竞争使得了解各个竞品的特点和优劣成为关键。然而&#xff0c;针对这一领域的详尽竞品分析却常常需要大量时间和精力。 在此背景下&#xff0c;人工智…

【C++】开源:事件驱动网络库libevent配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍事件驱动库libevent配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xf…