使用微信推送课程消息

使用微信推送课程信息

使用Python+微信公众号测试平台推送信息

0x01 准备工作

因为我的公众号再创建的时候选择的是个人,所以不能进行认证,也就不能给用户推送模板消息,所以此程序是基于微信公众平台接口测试,来实现的微信公众号消息推送的,每个人都可以到这里去申请测试号——>>>URL

注册账号 获取appID与appSecret以及测试的公众号

注册成功后登陆获取appIDappSercret

image-20221117201008541

获取测试号二维码

image-20221117201246821

创建推送模版

新增测试模版——->模版标题为推送标题,模版内容填{{user.DATA}} {{weather.DATA}} {{hitokoto.DATA}}

至此,你已经获取到了模版ID

image-20221117201340977

0x02 脚本编写

首先获取Access_Token

根据微信官方文档

image-20221117202033545

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import requests
import json

appID = '' #此处填写第一步获取的appID
appSecret = '' #此处填写获取获取的appSecret

......................................

def getAccessToken(appId, appSecret):
"""
@获取getAccessToken
:param APPID:微信平台账号ID信息
:param APPSECRET:微信平台账号密钥信息
:return: 'access_token' 微信平台认证Token
"""
url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + APPID + '&secret=' + APPSECRET + ''
response = requests.get(url)
result = json.loads(response.text)
return result['access_token']

.........................................

推送信息:

根据微信官方文档

调用方法:

  • 第一步:获取template_id(注意:仅微信开放平台同事可获取)

通过向微信公众平台申请模板,来获取模板id。

  • 第二步:请求接口

请注意,URL置空,则在发送后,点击模板消息会进入一个空白页面(IOS),或无法点击(Android)。

POST请求

https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

请求包为Json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"touser":"OPENID",
"template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
"url":"http://weixin.qq.com/download",
"topcolor":"#FF0000",
"data":{
"User": {
"value":"黄先生",
"color":"#173177"
},
"Date":{
"value":"06月07日 19时24分",
"color":"#173177"
},
}
}

参数说明

参数 是否必须 说明
touser 向指定用户发送,需要先获取OPENID
template_id 对指定模版进行发送,template_id
url URL置空,则在发送后,点击模板消息会进入一个空白页面(IOS),或无法点击(Android)。
Data Json包,通过Data数据来渲染发送的信息

根据API文档构建Python脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
.......................................

def pushMessage(appID, appsecret, openID,template_id):
"""
@Author:Chrrr1y
:param appID: 微信开发平台信息AppID
:param appsecret: 微信开发平台信息appsercret
:param openID: 账号主体ID信息
:param template_id 微信开发平台template_id
"""
access_token = getAccessToken(appID, appsecret)
url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=' + access_token
message = ''
data = {
"touser": openID,
"template_id": template_id,
"url":"http://weixin.qq.com/download",
"topcolor": "#FF0000",
"data": {
"user": {
"value": message,
},
"weather": {
"value": value
},
}
}
response = requests.post(url, json=data, headers=headers)

.........................................

至此,脚本构建完成

0x03 效果截图

image-20221118204606701

image-20221118204628742

0x04 FAQ:

参数 说明
OPENID 关注测试公众号之后,即可获取微信用户OPENID

使用微信推送课程消息
https://chrrr1y.github.io/2022/11/17/使用微信推送课程信息/
作者
Chrrr1y
发布于
2022年11月17日
更新于
2023年1月12日
许可协议