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

news2025/2/27 7:23:04

手上有个项目,是服务器挂着自动化的爬虫的,但我用的那个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 json

appID = "wx8ac3ded9236efe2a"
appSecret = "131b8d9d874af6f7dbf11d3b751ce6b2"
openId = "oHB4K6oJqzBh9FoM2J87KEfpS3Ro"


def get_access_token():
    # 获取access token的url
    url = '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_token


def 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_token
    access_token = get_access_token()
    # 2.发送模板消息
    send_msg(access_token)

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


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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QGIS开发五:VS使用QT插件创建UI界面

前面我们说了在创建项目时创建的是一个空项目,即不使用 Qt 提供的综合开发套件 Qt Creator,也不使用 Qt Visual Studio Tools 这类工具。 但是后面发现,如果我想要有更加满意的界面布局,还是要自己写一个UI文件,如果不…

Jmeter设置中文的两种方式,建议使用第二种

方案一 进入jmeter图像化界面,选择Options下的Choose Language,再选择Chinese(Simplified)。这个就是选择语言为简体中文(缺陷:这个只是在本次使用时为中文,下次打开默认还是英文的) 方案二(…

c++11 标准模板(STL)(std::basic_fstream)(四)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_fstream : public std::basic_iostream<CharT, Traits> 类模板 basic_fstream 实现基于文件的流上的高层输入/输出。它将 std::basic_i…

超快软恢复二极管的特点与应用,你必须看的好文章~

什么是超快软恢复二极管&#xff1f; 超快软恢复二极管&#xff08;Ultrafast Soft Recovery Diode&#xff09;是一种特殊的二极管&#xff0c;它具有较快的恢复速度和较低的反向恢复电荷。它通常用于高频开关电路和电源应用中&#xff0c;以提高效率和降低开关损耗。 超快软…

多人协同编辑文档:实现无限制的团队协作!

什么是多人协同编辑文档&#xff1f; 多人协同编辑文档是指两个或以上的用户同时对同一文件进行修改、编辑等操作。 多人协同编辑文档的优点 1、提高办公效率&#xff1a;多人协同编辑文档的出现&#xff0c;避免了传统的文件共享方式中的效率低以及文件版本不一致的问题。 …

Live Market搭建跨境产业数据库,业务触达全球消费者

具有海量数据基础和内容生成需求的跨境电商成为AI应用的核心场景之一&#xff0c;面对这项新兴技术&#xff0c;跨境卖家们积极入局&#xff0c;也随之带动B2B数字外贸持续火热。 AI技术的应用可以帮助它们更好地了解用户和市场需求&#xff0c;提高自身的运营效率和效果&…

了解Web DDoS海啸攻击的4个维度

我们都知道近年来网络攻击的数量和频率急剧上升&#xff0c;针对Web应用程序的DDoS海啸攻击就是其中增长非常迅速的一个种类。过去常见的HTTP/S洪水攻击正在大范围的转变为更难对付的Web DDoS海啸攻击&#xff0c;每个人都应该提前做好被攻击的准备并采取适当的保护措施。 哪些…

【Vue3 博物馆管理系统】定制上中下(顶部菜单、底部区域、中间主区域显示)三层结构首页

系列文章目录 第一章 定制上中下&#xff08;顶部菜单、底部区域、中间主区域显示&#xff09;三层结构首页 第二章 使用Vue3、Element-plus菜单组件构建菜单 [第三章 使用Vue3、Element-plus菜单组件构建轮播图] [第四章 使用Vue3、Element-plus菜单组件构建组图文章] 文章目…

Ubuntu18.04搭配无人机仿真环境(ROS,PX4,gazebo,Mavros,QGC安装教程)

Ubuntu18.04搭配无人机仿真环境 ROS环境配置版本安装 gazebo安装Mavrosa安装PX4源码下载和编译运行仿真地面站安装 ROS环境配置 我个人使用了代理环境进行下载。Linux没有代理的可以使用国内源。 清华大学源 sudo sh -c ‘. /etc/lsb-release && echo “deb http://m…

Direct path read LOB

Table full scan &#xff1a; wait event Direct path read because of LOB "Direct path read" Wait Event During LOB Access (Doc ID 2287482.1)​编辑To Bottom In this Document Symptoms Changes Cause Solution References APPLIES TO: Oracle Database …

《赏金猎人》华为对战平台,新手部署指南!

《赏金猎人》是一款休闲联机对战小游戏&#xff0c;目前已免费上架 Cocos Store 资源商城。 本文重点介绍&#xff0c;如何在该游戏中集成华为联机对战能力。 开发环境 Cocos Creator&#xff1a;Cocos Creator 3.7.2Android&#xff1a;Android Studio 3.6.1微信小游戏&#x…

DenseNet网络分析

文章目录 DenseNet结构Dense Layer & Dense BlockDense Layer的宽度Transition Layers 对比实验网络结构训练参数对比结果CIFAR-10&#xff0c;CIFAR-100&#xff0c;SVHN ImageNet数据集 进一步分析 从ResNet开始&#xff0c;有很多研究都是琢磨怎么通过提高深度网络中层与…

【C# 基础精讲】字典(Dictionary)的使用

在C#中&#xff0c;Dictionary<TKey, TValue>是一种非常常用的泛型集合类&#xff0c;用于存储键值对&#xff08;Key-Value Pair&#xff09;的数据结构。Dictionary<TKey, TValue>可以根据键快速查找对应的值&#xff0c;因此在需要快速查找和检索数据的场景下&a…

Lorenz系统最大lyapunov exponent的求解

首先看下Lorenz混沌系统: 赋予初始值,例如: 当然,初始值可以根据需要设定。 看下他的吸引子,很美: 看下他的分叉图:

【uniapp】使用Vs Code开发uniapp:

文章目录 一、使用命令行创建uniapp项目&#xff1a;二、安装插件与配置&#xff1a;三、编译和运行:四、修改pinia&#xff1a; 一、使用命令行创建uniapp项目&#xff1a; 二、安装插件与配置&#xff1a; 三、编译和运行: 该项目下的dist》dev》mp-weixin文件导入微信开发者…

SLAM框架与相关理论梳理

应该是思维导图的形式使用markmap实现,可以使用md文档在VSCode中添加插件预览,预览图如绑定的那个资源的样式。 效果大概是长这个样子 > 但是CSDN不好用,一堆乱码。这里建议从这个链接中复制下载md文件,使用VSCode的markmap插件查看,或者直接把md的内容复制到markmap网…

Java SPI机制详解-01

1. 概述 SPI&#xff08;Service Provider Interface&#xff09;&#xff0c;是 Java 6 引入了一个内置功能&#xff0c;实现服务提供发现和加载机制&#xff0c;使之与特定接口的匹配。 SPI 机制的核心思想就是 解耦 &#xff0c;将装配的控制权移到程序之外&#xff0c;这…

多模态图像融合的相关驱动双分支特征分解

文章目录 CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality Image Fusion摘要本文方法损失函数 实验结果 CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality Image Fusion 摘要 多模态图像融合的目的是使…

GaussDB之SQL Audit,面向应用开发的SQL审核工具

前言 我们先从一个SQL语句说起&#xff08;以某传统单机数据库为例&#xff09;。 也许这就是我们业务代码中潜藏的一个SQL语句&#xff0c;对于一个普通开发者来说&#xff0c;这个语句编写工整&#xff0c;逻辑清晰&#xff0c;没有什么问题&#xff0c;可以直接推到代码仓中…

只需要一个技巧,医疗设备立马大变样!

当谈及医疗领域中的设备运行与维护&#xff0c;蓄电池的监控成为至关重要的一环。医疗设备的顺利运行直接关系到患者的生命安全和医疗工作的有效性。为此&#xff0c;对医疗设备所使用的蓄电池进行实时监控和管理显得尤为关键。 蓄电池监控不仅提高了医疗设备的可靠性&#xff…