python 测试微信公众号发消息教程

文章目录

    • 1.1 申请公众号测试账号
    • 1.2 关注公众号
    • 1.3 获取Access Token
    • 1.4 通过Access Token为关注者发送消息
  • 2. troubleshotting

1.1 申请公众号测试账号

在开发公众号时,我们可以先不用拥有一个公众号,而使用微信给开发者提供的测试账号,官方链接:微信公众号测试账号申请 点击链接扫码登录,微信会为开发者提供一个用于开发的账号。

python 测试微信公众号发消息教程_第1张图片
有了appID和appsecret两个号码就说明申请成功了

1.2 关注公众号

在页面重查看申请成功的公众号,有一个公众号二维码,用微信扫码关注该公众号,右侧就会显示关注该公众号的“微信号”,这个微信号不是你实际微信号,下面测试案例会给该“微信号”发送消息,你的微信会收到消息
python 测试微信公众号发消息教程_第2张图片

1.3 获取Access Token

官方API使用教程在这里:开发者教程-获取Access Token教程中详细说明了,Access Token的作用,存活时间和刷新建议。我们这里针对教程,使用python进行测试。

python 测试微信公众号发消息教程_第3张图片

接下来我们就 通过 Python 的requests 包 获取 Access_token:

#!usr/bin/env python
#-*- coding:utf-8 -*-
"""
@author:CHERN
@file: utils_wechat.py
@time: 2020/04/12
"""
import json
import requests

# 获取token
url_token = 'https://api.weixin.qq.com/cgi-bin/token?'
res = requests.get(url=url_token,params={
     
         "grant_type": 'client_credential',
         'appid':'wx4**********15689',# 这里填写上面获取到的appID
         'secret':'2a27c52b581***************edec63',# 这里填写上面获取到的appsecret
         }).json()
print(res)
token = res.get('access_token')
print(res)
  1. 注意上面appidsecret需要更换成你自己申请的,上面图片上显示的appIDappsecret
  2. access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。

1.4 通过Access Token为关注者发送消息

上面的程序运行成功,我们就可以使用获取到的token给关注公众号的微信号发送消息了。 我们通过 微信提供的 客服消息接口发送数据。发送消息的文档说明在“客服接口”中:客服接口

python 测试微信公众号发消息教程_第4张图片

python 测试微信公众号发消息教程_第5张图片

根据上面的接口调用请求说明:

#!usr/bin/env python
#-*- coding:utf-8 -*-
"""
#!usr/bin/env python
#-*- coding:utf-8 -*-
"""
@author:CHERN
@file: utils_wechat.py
@time: 2020/04/12
"""
import json
import requests


# 获取token
url_token = 'https://api.weixin.qq.com/cgi-bin/token?'
res = requests.get(url=url_token,params={
     
         "grant_type": 'client_credential',
         'appid':'wx4**********15689',# 这里填写上面获取到的appID
         'secret':'2a27c52b581***************edec63',# 这里填写上面获取到的appsecret
         }).json()
print(res)
token = res.get('access_token')
print(res)

url_msg = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?'
body = {
     
    "touser": 'oYIXIwA**************God1GaI',  # 这里必须是关注公众号测试账号后的用户id
    "msgtype": "text",
    "text": {
     
        "content": "Hello from python. Any problem, email [email protected]"
    }
}
res = requests.post(url=url_msg, params={
     
    'access_token': token # 这里是我们上面获取到的token
},data=json.dumps(body,ensure_ascii=False).encode('utf-8'))

运行程序后,我们的微信就可以收到消息啦。
python 测试微信公众号发消息教程_第6张图片

2. troubleshotting

公众号如果长时间不用(比如写完的程序,运行成功。但是过了一段时间,再运行微信接收不到消息),可能会无法收到消息。这时候取消关注这个公众号,再重新关注一下就可解决。

更多关于微信公众号测试内容,我会在这篇文章中更新。读者可以随意复试使用和转发,而不需要要作者授权。转发说明来源更加感谢。关于程序的任何问题,可以联系作者email:chaj at hit dot edu dot cn

你可能感兴趣的:(编程语言,python,编程语言)