帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
微信公众号模板消息推送测试Python版无需服务器-保姆级教程
发布时间:2024-03-08 19:08:10   分类:帮助文档
微信公众号模板消息推送测试Python版无需服务器-保姆级教程




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

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

申请测试号
首先就是注册一个微信公众号了,随便注册就行了,但是如果你要上线使用,请记住申请服务号,至于服务号和订阅号的区别我这里不展开的的赘述,有相关需求的可以去微信官方查看。
注册完成后点击左侧 设置与开发 下面的 接口权限 也能简单看看这些相关功能所需要的公众号的类别。一般咱自己申请的就是个体号,基本没啥功能,就只能发发文章罢了。另外提一嘴,如果要正式上线做自动化推送的话,就需要公众号认证的,这玩意还要300块,但我看tb有那种几毛钱的,不是太懂有什么风险,懂哥可以留言。如果项目正经让公司出钱就行了。自己做工具用可以省钱找那种代认证。

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

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


新增测试模板

点击新增测试模板,以下是正确格式
提示前缀 + {{xxx.DATA}} 然后你输完一个记得换行。到时候发送通知模板时候的排版就和你现在一样
提交后会得到一个模板ID(等下代码会用到)

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



至此已经有了4个值,分别是appID、 appsecret、 模板ID 、 openId


实现步骤解析:(重点) 首先需要明确一个点,向微信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的操作就去看我上面贴的文档。先这样写,测试成功后,你再自己尝试这里改改那里改改看看什么变化,就理解了。不懂的话留言,开了邮箱提醒很快能看到

效果展示: 电脑端




香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价