欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python3生成微信带参数的小程序码

程序员文章站 2022-07-03 12:06:49
...

根据AppID和AppSecret获取Token,然后根据token再生成带参数的小程序码。
官方文档如下:
https://developers.weixin.qq.com/minigame/dev/tutorial/open-ability/qrcode.html

我用pyton3实现了一下,贴上来,方便大家使用,代码如下:

import urllib.request
import urllib.parse
import json
 
appid = ''
appsecret=''
 
 
 
#获取TOKEN
def getToken(appid,appsecret):
	#这个是微信获取小程序码的接口
	url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={appsecret}'.format(appid=appid,appsecret=appsecret)
	#准备一下头
	headers = {
		'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
	}
 
	request = urllib.request.Request(url,headers=headers)
	response = urllib.request.urlopen(request)
	readData = response.read()
	readData = readData.decode('utf-8')
	obj = json.loads(readData)
	print(obj)
	print(obj['access_token'])
	return obj['access_token']
	
 
#获取小程序码
def getACodeImage(token,file):
	#这个是微信获取小程序码的接口
	url = 'https://api.weixin.qq.com/wxa/getwxacode?access_token={token}'.format(token=token)
	#准备一下头
	headers = {
		'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
	}
	#用Post传值,这里值用JSON的形式
	values = {"path": "?from=1"}
	#将字典格式化成能用的形式,urlencode不能用
	#data = urllib.parse.urlencode(values).encode('utf-8')
	#使用json.dumps的方式序列化为字符串,然后bytes进行编码
	data = json.dumps(values)
	data=bytes(data,'utf8')
	#创建一个request,放入我们的地址、数据、头
	request = urllib.request.Request(url, data, headers)
	#将获取的数据存在本地文件
	readData = urllib.request.urlopen(request).read()
	f=open(file,"wb")
	f.write(readData)
	f.close()
 
	
token = getToken(appid,appsecret)
getACodeImage(token,'wxCode.jpg')
相关标签: python 小程序