2023.05.15-使用WxPusher来向微信端发送自定义的数据

  • [toc]

1. 简介

  • WxPusher (微信推送服务)是一个使用微信公众号作为通道的,实时信息推送平台,你可以通过调用API的方式,把信息推送到微信上,无需安装额外的软件,即可做到信息实时通知。 你可以使用WxPusher来做服务器报警通知、抢课通知、抢票通知,信息更新提示等。

2. 使用官方的demo向自己的微信客户端发送数据

2.1.

3. Python调用对应的API接口来想微信客户端发送数据

3.1. 首先使用微信扫码登录

WxPusher微信消息推送服务
完善自己的微信登录信息,点击确定(当然了,这个信息是可以随便填的,并不需要发送验证码进行验证)

3.2. 获得token

创建一个应用

  • 点击创建应用,然后填入下面的信息
  • 创建应用成功后,会弹出对应的aPPToken界面,复制这些信息,留作后面使用

3.3. 关注这个应用

微信必须进一步扫码关注这个应用,才可以收到我们的消息,否则会显示下面的报错


3.4. 获得用户UID

当用户关注应用或者发送命令消息到公众号的时候,WxPusher会将消息推送给你。

3.5. 使用Python代码进行消息的发送

拿到UID以后,配合应用的appToken,然后调用发送接口发送消息。

Python代码的编写可以参考下面的这个教程
WxPusher微信推送服务
可使用post协议,也可以使用get的协议

3.5.1. post协议

  • 请求数据放在body里面,具体参数如下:
{
  "appToken":"AT_xxx",
  "content":"Wxpusher祝你中秋节快乐!",
  "summary":"消息摘要",//消息摘要,显示在微信聊天页面或者模版消息卡片上,限制长度100,可以不传,不传默认截取content前面的内容。
  "contentType":1,//内容类型 1表示文字  2表示html(只发送body标签内部的数据即可,不包括body标签) 3表示markdown 
  "topicIds":[ //发送目标的topicId,是一个数组!!!,也就是群发,使用uids单发的时候, 可以不传。
      123
  ],
  "uids":[//发送目标的UID,是一个数组。注意uids和topicIds可以同时填写,也可以只填写一个。
      "UID_xxxx"
  ],
  "url":"https://wxpusher.zjiecode.com", //原文链接,可选参数
  "verifyPay":false //是否验证订阅时间,true表示只推送给付费订阅用户,false表示推送的时候,不验证付费,不验证用户订阅到期时间,用户订阅过期了,也能收到。
}

  • Python代码

def wxPusher_send_messaget_post(message):
    import requests
    import json
    app_token = 'xxx'
    UID = 'xxx'

    data = {
        "appToken": app_token,
        "content": message,
        "summary": message,
        "contentType": 1,
        "topicIds": [
            123
        ],
        "uids": [
            UID
        ],
        "url": "https://wxpusher.zjiecode.com",
        "verifyPay": False
    }
    json_data = json.dumps(data)

    url= "https://wxpusher.zjiecode.com/api/send/message"

    headers = {
        'Content-Type': "application/json",
    }

    request = requests.post(url,data=json_data,headers=headers)
    print("request:", request)
    

    return request

wxPusher_send_messaget_post('好的')
  • 返回参数说明
{
    "code": 1000, //状态码
    "msg": "处理成功",//提示消息
    "data": [ //每个uid/topicid的发送状态,和发送的时候,一一对应,是一个数组,可能有多个
        {
            "uid": "UID_xxx",//用户uid
            "topicId": null, //主题ID
            "messageId": 121,//废弃??,请不要再使用,后续会删除这个字段
            "messageContentId": 2123,//消息内容id,调用一次接口,生成一个,你可以通过此id调用删除消息接口,删除消息。本次发送的所有用户共享此消息内容。
            "sendRecordId": 12313,//消息发送id,每个uid用户或者topicId生成一个,可以通过这个id查询对某个用户的发送状态
            "code": 1000, //1000表示发送成功
            "status": "创建发送任务成功"
        }
    ],
    "success": true
}
3.5.1.1. get协议
  • GET接口是对POST接口的阉割,主要是为了某些情况下调用方便,只支持对文字(contentType=1)的发送,举例:
https://wxpusher.zjiecode.com/api/send/message/?appToken=AT_qHT0cTQfLwYOlBV9cJj9zDSyEmspsmyM&content=123&uid=c1BcpqxEbD8irqlGUh9BhOqR2BvH8yWZ&url=http%3a%2f%2fwxpusher.zjiecode.com

  • 请求参数支持:appToken、uid、topicId、content、url、verifyPay ,其中content和url请进行urlEncode编码。
  • 主要应该修改appToken、uid和content3项,组成一个新的链接,在运行代码之前,我们先用浏览器访问一下这个网页进行一下测试
  • 然后手机端也收到了对应的消息
  • 最终的Python代码
  • 代码
def wxPusher_send_messaget_get(message):
    import requests

    app_token = 'xxx'
    UID = 'xxx'
    url = f'https://wxpusher.zjiecode.com/api/send/message/?appToken={app_token}&content={message}&uid={UID}&url=http%3a%2f%2fwxpusher.zjiecode.com'
    request = requests.get(url)

    return request

wxPusher_send_messaget_get('你好呀')
  • 发送成功
  • 手机端也收到了对应的消息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值