python3生成微信帶引數的小程式碼
阿新 • • 發佈:2018-11-25
根據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')