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

根据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')

猜你喜欢

转载自my.oschina.net/u/2396236/blog/1857268