python开发微信服务号消息推送示例

 更新时间:2023年10月04日 11:14:59   作者:不言仙声  
这篇文章主要为大家介绍了python开发微信服务号消息推送示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

今天聊聊微信服务号的消息推送功能,因为最近刚好有这么个需求需要通过微信给用户推送消息,个人号或者企业个人号没去详细研究,看了个大概是需要先登录在进行发消息的功能,略麻烦,过。刚好有个认证的服务号,直接上手

消息推送目前分为两种,一种是模板消息,一种是订阅通知。两种都体验过,订阅通知是比较坑的,因为他是需要用户点击订阅一次才能发送一次,对我没啥用(多用于那种上课通知开奖通知啥的)

我的需求是在用户有需要的,然后可以每天推送一个汇率通知,经过测试之后模板消息可以达到这个功能,但是缺点是无法自定义标题和关键词,如果需要自定义的话得跟官方申请让他们审核过后才允许,下图是当时被驳回的审核通知。

既然无法自定义,只能自己去找个相近的模板了,但是还要吐槽的是,微信关于筛选模板这一块做得也不尽人意,只能一页一页翻过去,或者根据标题搜索,但是相关行业的又没有相应的,最后勉强找个了这样的

那么最后完成的效果是什么样的呢?图片

正文

整体思路蛮清晰,数据都通过相应的 API 传送,根据官方的相关文档介绍

通过服务号的 APPID 和 APPSECRET 获取 Access token

通过 Access token 去使用对应模板,填入想要发送的信息,然后发送给对应的用户

分步骤介绍图片

# 获取access_token
def get_access_token():
    ## 因为我是从文件中读取的,你们嫌麻烦可以直接把两个填到链接的大括号内,并删除后面的.format(xxx)
    # appId
    app_id = config["app_id"]
    # appSecret
    app_secret = config["app_secret"]
    post_url = ("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={}&secret={}"
                .format(app_id, app_secret))
    ## 尝试使用get获取并转换成json,同时取其中的值
    try:
        access_token = get(post_url).json()['access_token']
    except KeyError:
        print("获取access_token失败,请检查app_id和app_secret是否正确")
        os.system("pause")
        sys.exit(1)
    print(access_token)
    return access_toke
## 发送消息
def send_message(to_user, access_token, money):
    # 这个url是赋值包含access_token的链接,方便后续post用
    url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={}".format(access_token)
    now = datetime.datetime.now()
    date = now.strftime("%m月%d日")
    # 这里是传输需要发送的数据
    data = {
        "touser": to_user,
        "template_id": config["template_id"],
        # 这个url是点击详情之后的跳转,这里跳转到百度汇率历史
        "url": "https://gushitong.baidu.com/foreign/global-CNYTWD",
        "data": {
            # 其中thing15这些是按照模板详情中的参数来的
            "thing15": {
                "value": "汇率通知"
            },
            "thing16": {
                "value": "1 CNY = {} TWD".format(money)
            },
            "time9": {
                "value": date
            },
            "thing2": {
                "value": "点击详情查看历史汇率"
            }
        }
    }
    # 这里就是推送消息了
    response = post(url, json=data).json()
    if response["errcode"] == 40037:
        print("推送消息失败,请检查模板id是否正确")
    elif response["errcode"] == 40036:
        print("推送消息失败,请检查模板id是否为空")
    elif response["errcode"] == 40003:
        print("推送消息失败,请检查微信号是否正确")
    elif response["errcode"] == 0:
        print("推送消息成功")
    else:
        print(response)

整体思路是这个样子,接下来我只需要实现它定时推送,或者后续增加的低于某个值推送等,不过这是后续增加的其它需求了,不过目前有一个问题就是,只能自己加要通知哪些用户,其实应该是有个页面让用户自己选择是否需要这个推送的。不过这方面感觉还得搭个平台或者简单的记录,略麻烦,暂过。

后记

功能虽然简单,不过也算是通了一条路,后续再此基础上可以增加更多功能,仅以此记录,学无止境。

参考 https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html

以上就是python开发微信服务号消息推送示例的详细内容,更多关于python微信服务号消息推送的资料请关注脚本之家其它相关文章!

相关文章

  • python全面解析接口返回数据

    python全面解析接口返回数据

    这篇文章主要介绍了python接口返回数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Python第三方库Emoji库的使用教程

    Python第三方库Emoji库的使用教程

    Emoji库是一个Python第三方库,用于在程序中处理和使用表情符号,表情符号(Emoji)起源于日本,Python的emoji库提供了一种程序化方式来处理表情符号,本文给大家详细介绍了Python Emoji库的使用教程,需要的朋友可以参考下
    2026-01-01
  • 使用Template格式化Python字符串的方法

    使用Template格式化Python字符串的方法

    今天小编就为大家分享一篇使用Template格式化Python字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python3 单行多行万能正则匹配方法

    Python3 单行多行万能正则匹配方法

    今天小编就为大家分享一篇Python3 单行多行万能正则匹配方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 利用Python简单的可视化工具

    利用Python简单的可视化工具

    这篇文章讲述了数据可视化的必要性,介绍了几种常用的Python可视化库(Matplotlib、Seaborn、Plotly、GeoPandas、Folium),并通过实例展示了如何使用这些库进行图表绘制和分析
    2025-01-01
  • python中matplotlib实现最小二乘法拟合的过程详解

    python中matplotlib实现最小二乘法拟合的过程详解

    这篇文章主要给大家介绍了关于python中matplotlib实现最小二乘法拟合的相关资料,文中通过示例代码详细介绍了关于最小二乘法拟合直线和最小二乘法拟合曲线的实现过程,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • python切换hosts文件代码示例

    python切换hosts文件代码示例

    开发或者测试网站程序时,我们很多时候都会遇到多个hosts文件来回切换,windows的hosts文件目录比较深,麻烦,因此,用python写了个小脚本来简化此功能
    2013-12-12
  • Python闭眼时长标准差脚本使用实例代码讲解

    Python闭眼时长标准差脚本使用实例代码讲解

    这篇文章主要介绍了Python闭眼时长标准差脚本使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-03-03
  • numpy使用fromstring创建矩阵的实例

    numpy使用fromstring创建矩阵的实例

    今天小编就为大家分享一篇numpy使用fromstring创建矩阵的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 从环境搭建到实战详解Python中Playwright的入门教程

    从环境搭建到实战详解Python中Playwright的入门教程

    Playwright凭借其跨浏览器兼容性、智能等待机制和强大的网络控制能力,已成为开发者首选的现代化工具,本文将系统讲解Python环境下Playwright的安装配置、核心功能及实战案例,帮助读者快速掌握这一高效工具
    2026-01-01

最新评论