扫二维码进入小程序不同页面--Python生成带参小程序码

微信小程序码是小程序推广的重要渠道之一
目前微信官方推出的小程序码分为常见的正方形QR码和新推出的小程序码
下面将介绍如何向微信API发起请求获取小程序码

准备工作:

1、首先需要确保在小程序的app.json中,已经注册了相应的页面
2、对应的页面应该有已经实现的对应页面,且小程序已经有已发布的线上版本,否则扫码报错
3、去微信小程序后台获取 AppSecret 以及 AppID (具体获取办法另行百度)

代码实现:

  1. 利用AppID和AppSecret,获取AccessToken(使用GET方法)
"""
请求地址:(将appid后的xxx和secret后的xxx替换为你准备好的值)
https://api.weixin.qq.com/cgi-bin/token?appid=xxx&secret=xxx&grant_type=client_credential

返回结果为json格式的 access_token和expires_in,获取到access_token即可
"""
  1. 利用AccessToken获取小程序码(下例请求地址的ACCESS_TOKEN替换为你获取的AccessToken)
"""
微信提供了两个POST获取小程序的接口,可以根据业务需求,选择任意接口

获取经典QR码:
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN

获取花瓣式小程序码:
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
"""

PS: POST请求体中,需要包含小程序的页面地址,携带的参数

下面利用Python代码举例:

from PIL import Image
from io import BytesIO
import requests
import json

url = "https://api.weixin.qq.com/cgi-bin/token?appid={}&secret={}&grant_type=client_credential"
res = requests.get(url=url.format('填写你的AppID', '填写你的AppSecret')).text
# datas 为 POST请求的页面以及携带的参数
datas = {
    
    "path": "pages/index/index?teacher=mk",}
QRcode = requests.post(
    url="https://api.weixin.qq.com/wxa/getwxacode?access_token=" + json.loads(res)['access_token'],
    data=json.dumps(datas))
img = Image.open(BytesIO(QRcode.content))
img.save('我的小程序码.png')

PS:
除了我们文中举例的接口,微信还开放了另一个与二维码相关的接口,就是「扫普通二维码进入小程序」

开发者自己就可以按照一定规律,自行批量生成QR码。但它需要开发者有已经备案的域名,且个人主体小程序无法使用这个接口。

微信将通过「获取小程序二维码」接口获取的二维码的数量限定在十万个,并且似乎并没有「注销以前生成的二维码」的功能和机制。

所以,如果你有非常大量的小程序二维码生成需求,建议使用普通链接二维码的方式生成QR码。如果需要使用微信提供的二维码生成接口,也要注意不要超过限额。

猜你喜欢

转载自blog.csdn.net/qq_44718932/article/details/126268351