IDC

Python推送小程序订阅消息

作者:admin 2021-08-02 我要评论

本文主要是使用Python实现简单的调用微信小程序订阅消息接口。 调用步骤 1、获取access_token 2、调用订阅消息下发接口 获取access_token这边就不说了,直接调用...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

本文主要是使用Python实现简单的调用微信小程序订阅消息接口。

调用步骤

1、获取access_token
2、调用订阅消息下发接口

获取access_token这边就不说了,直接调用接口可以获得,这边主要是实现下发订阅消息。因为完整的可用的业务代码,获取access_token也是需要进行一些专业的处理,例如缓存access_token,验证access_token有效期等。

调用代码

import requests
import json

# json数据格式请求参数
data = {
  "touser": "o9usm0bhIkcbAyxM0RzDXi9tjHhM", # 接收用户的openid
  "template_id": "WZiCliW1zVtHXqX7dGnFNvFO4Bx3MOSjPRA7LAcwQuw", # 模板id
  "page": "pages/index/index",
  "miniprogram_state":"formal",
  "lang":"zh_CN",
  "data": {
      "character_string1": {
          "value": "2021-08-01"
      },
      "thing4": {
          "value": "Python推送小程序订阅消息"
      }
  }
}

# 设置请求头
header = {'Content-Type': 'application/json'}
# 请求地址
url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=获取到的access_token"
# 请求体
response = requests.post(url, headers=header, data = json.dumps(data))
# 打印请求结果
print(response.text)

image.png

返回下面这个json就代表下发成功

{"errcode":0,"errmsg":"ok","msgid":1983688405318189057}

image.png
image.png

这里附上微信小程序的官方文档,以上相关参数可以在文档了解其用途

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html

结合GUI

动手能力强的朋友还可以结合一下Python自带的GUI库Tkinter实现简单的操作界面。因为access_token只有2小时有效期,每天的生成次数有限,我们不能每推送一条消息就生成一个新的access_token,不然一下子生成次数用完了,你就无法调用接口下发消息了。

所以access_token要缓存到本地或者数据库,然后每次调用订阅消息接口前,对access_token的有效期进行判断,如果还没过期,就可以使用缓存在本地的access_token,如果已经过期,就调用接口生成新的access_token,这样每天的生成access_token调用次数基本足够用。

image.png

Author:TANKING
WeChat:sansure2016


本文转自网络,版权归原作者所有,原文链接:https://segmentfault.com/a/1190000040438236

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 2020年12月超实用设计干货大合集

    2020年12月超实用设计干货大合集

  • 深入理解JavaScript中的箭头函数

    深入理解JavaScript中的箭头函数

  • Skywalking分布式链路追踪入门

    Skywalking分布式链路追踪入门

  • 连续3年稳居第一,全球1240万用户,Jav

    连续3年稳居第一,全球1240万用户,Jav

腾讯云代理商
海外云服务器