这个openid是我们小程序中用户身份的唯一标识符,并且可以通过它从微信获得用户的一些基本信息,比如所在城市、省份、国家、姓别等,还是蛮重要的。
下面就说说怎么得到它。
下面是获取的流程图。
首先,是在前端得到code,需要使用wx.login来获得,然后把它发送到后端,具体代码等到写前端在说。
还有一个重要的事情就是在公众平台上得到appid和appsecret,这个很重要,不只是这里有用,微信支付也用的着。具体方法https://jingyan.baidu.com/article/6525d4b12af618ac7c2e9468.html
接下来就是向微信服务器发送数据来换取openid啦,具体代码如下:
code=xxxxxxxxxxxxxx #前端接受的code数据
appid =env_dist['appid'] #appid和secret需要保密,具体见设置环境变量的那篇文章
secret =env_dist['serct']
requestString = 'https://api.weixin.qq.com/sns/jscode2session?appid={APPID}&secret={SECRET}&js_code={JSCODE}&grant_type=authorization_code'.format(APPID=appid, SECRET=secret, JSCODE=code)
r = requests.get(requestString)
r = r.json()
openid = r['openid']
key=r['seesion_key']
其中requestString对应的那一句就是微信服务器的地址。这样我们就完成了openid和session_key的获取。