栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【python获取小程序用户openid】python后端通过前端code获取openid与session

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【python获取小程序用户openid】python后端通过前端code获取openid与session

最近在写后端接口,实现前端小程序用户登录时,需要使用前端发来的code获取用户的openid和session_key,并且返回3rd_session,搜了一些资料,最终实现了功能。
首先说结论:向微信服务器发送请求用的url要用拼接的方式,不可以用传参的方式。

首先是我踩的坑(不成功):
一开始搜到的代码,向微信服务器发送请求的指令是传参方式:

parmas = {
'appid': appid,
'secret': secret,
'js_code': code,
'grant_type': 'authorization_code'
}
url = 'https://api.weixin.qq.com/sns/jscode2session'
r = requests.get(url, params=parmas)

下面是正确写法,用字符串拼接,一定要用字符串拼接!!

def fun(request):
    if request.method == "POST":
        appid = "小程序appid"
        secret = "小程序secret"
        grant_type = "authorization_code"  #这个固定
        js_code = request.POST.get('code')
        url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + secret + "&js_code=" + js_code + "&grant_type=" + grant_type
        #下一行用的requests库,没有的可以 pip install requests安装一下
        user_info = requests.get(url).json()
        openid = user_info['openid']   #用户openid
        session_key = user_info['session_key']   #用户的session_key
        #下一行用的库是uuid,没有的可以 pip install uuid安装一下
        user_uuid = str(uuid.uuid4())  #生成用户的3rd_session传给前端
        return JsonResponse({"session": user_uuid})
        

有错误欢迎指正,希望对大家有帮助~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号